App-连接数据库|青训营笔记

458 阅读3分钟

App-连接数据库|青训营笔记

这是我参加「第四届青训营」笔记创作活动第十一天

App连接数据库

手机端的App,连同程序代码及其内置的嵌入式数据库,其实是个又独立又完整的程序实体,它只负责手机上的用户交互与信息处理,该实体被称作客户端。而后端的Java Web服务,包括Web代码和数据库服务器,同样构成另一个单独运行的程序实体,它只负责后台的业务逻辑与数据库操作,该实体被称作服务端。客户端与服务端之前通过HTTP接口通信,每当客户端觉得需要把信息发给服务端,或者需要从服务端获取信息时,客户端便向服务端发起HTTP请求,服务端收到客户端的请求之后,根据规则完成数据处理,并将处理结果返回给客户端。这样客户端经由HTTP接口并借服务端之手,方能间接读写后端的数据库服务器(如MySQL)

image.png

  • 一个具备用户管理功能的App系统,实际上并不单单只是手机上的一个应用,还包括与其对 应的Java Web服务。
  • 手机里的客户端App,面向的是手机用户,App与用户之间通过手机屏幕交互
  • 后端的服务程序,面向的是手机App,客户端与服务端之间通过HTTP接口交互。
  • 客户端和服务端这种多对一的架构关系 image.png

手机App能够直接操作内置的SQLite数据库,但不能直接操作MySQL这种企业数据库。必须事先搭建好服务端程序(如Java Web),然后客户端与服务端通过HTTP接口通信,再由服务端操作以MySQL为代表的数据库服务器。

app下面又有3个子目录,其功能说明如下:

  • manifests子目录,下面只有一个XML文件,即AndroidManifest.xml,它是App的运行配置文件。
  • java子目录,下面有3个com.example.myapp包,其中第一个包存放当前模块的Java源代码,后面两个包存放测试用的Java代码。
  • res子目录,存放当前模块的资源文件

res下面又有4个子目录:

  • drawable目录存放图形描述文件与图片文件。
  • layout目录存放App页面的布局文件。
  • mipmap目录存放App的启动图标。
  • values目录存放一些常量定义文件,例如字符串常量strings.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。

Gradle Scripts下面主要是工程的编译配置文件,主要有:

  • build.gradle,该文件分为项目级与模块级两种,用于描述App工程的编译规则。
  • proguard-rules.pro,该文件用于描述Java代码的混淆规则。
  • gradle.properties,该文件用于配置编译工程的命令行参数,一般无须改动。
  • settings.gradle,该文件配置了需要编译哪些模块。初始内容为include ':app',表示只编译app模块。
  • local.properties,项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等
manifest下面有个application节点,它的各属性说明如下
  • android:allowBackup,是否允许应用备份。允许用户备份系统应用和第三方应用的apk安包和应用数据,以便在刷机或者数据丢失后恢复应用,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复。为true表示允许,为false则表示不允许。
  • android:icon,指定App在手机屏幕上显示的图标。
  • android:label,指定App在手机屏幕上显示的名称。
  • android:roundIcon,指定App的圆角图标。
  • android:supportsRtl,是否支持阿拉伯语/波斯语这种从右往左的文字排列顺序。为true示支持,为false则表示不支持。
  • android:theme,指定App的显示风格。