最详细Android连接远程的MySQL数据库实例 |
您所在的位置:网站首页 › 安卓远程电脑app › 最详细Android连接远程的MySQL数据库实例 |
最详细Android连接远程的MySQL数据库实例
tags:MySQL 文章目录 最详细Android连接远程的MySQL数据库实例 前言 环境配置 查看MySQL:version方法 新建Android工程 build.gradle activity_main.xml布局文件 MainActivity类修改为继承于Activity 新建一个基类 新建一个子页面 将EthMainPager页面放入MainActivity中并显示。 初步运行界面 子页面的完善编写 子页面的布局 ethmainpager.xml文件 实例化控件 导入jar包 数据库连接工具类 获得数据更新 getData() handler getVersion() versionhandle 最终运行的结果 软件运行结果 数据库中的数据 前言第一次连接远程MySQL数据,在此留下笔记,针对遇到的总是也一并给出,在此说明,连接远程数据库在我没遇到的问题暂时无法给出,我尽量按写程的时间最全的给出代码。连接的方法是采用mysql-connector-java-5.1.30-bin.jar包进行连接。欢迎讨论。 说明: 以下记录按时间先后顺利给出,采用同样的环境应该可以重现。 代码部分也由顺序给出,如:某一个方法或者类后面的代码可能比前面贴出的全,也可能是增加了内容,也可能是解决了前面的某个问题。 为了程序的可扩展性,本示例采用数据与UI分离写法,自定义了页面的基类BasePager,initView()和initData() 环境配置服务器:阿里云服务器 ECS 操作系统:centos 7 MySQL:version: 5.7.27 连接服务器软件:FinalShell MySQL管理软件:RoboDB MySQL Manager 安卓开发软件:Androi Studio 3.5.2 查看MySQL:version方法在登陆务务器后输入mysql -uroot -p再输入密码。 [root@njzhw ~]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1234354 Server version: 5.7.27 MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 新建Android工程新建一个空白Activity的工程文,目前采用最新的各类文件版本, build.gradleapp的build.gradle文件如下:所有支持均已最新版本。minSdkVersion 19因受我电脑外挂android模拟器的限制,采用了19。高了模拟器运行不起来。 apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.3" defaultConfig { applicationId "cn.plczl.myapplication" minSdkVersion 19 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' testImplementation 'junit:junit:4.13' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' } activity_main.xml布局文件MainActivity所对应的activity_main.xml的布局文只有一个FrameLayout,所有数据显示采用另外的代码实现。 MainActivity类修改为继承于Activity新建好的MainActivity是继承于AppCompatActivity。区别是软件运行时不需要其默认的标题栏 百度的区别: Activity 是其它 Activity 的基类,包括 AppCompatActivity。默认带标题栏,从字面理解,App兼容Activity,意思是允许我们轻易地将API 21+的特性应用到之前的那些老的,不兼容的Activity上面。例如很容易地将Toolbar添加到Activity上 代码如下: package cn.plczl.mysql; import android.app.Activity; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } } 新建一个基类用于子页面来继承,这样可以有多个页面采用自定义的一类进行界面、数据分离处理。 在工程中新建一个base的包,包中建立一个BasePager的类。代码如下:本基类无需要继承, 主要代码如下: 其中有一个构造函数public BasePager(Context context),用于获取上下文和初始化视图(rootView); 一个抽象的initView方法,强制由调用的页面来实现,以实现不同页面有不同的UI结构; 一个初始化数据的方法(initData),本方法为一个空方法,由继承它的子页面来实现数据填充。在子页面中还可以在本方法中进行耗时的联网,数据请求,数据显示的操作。 注意: 因public abstract View initView();这个是一个抽象的方法,所对应的public abstract class BasePager 类也必须是抽象的,也就是由abstract关键字。 public Context conetxt;要修改为public,如果自生成时可能是这样的,private final Context conetxt;因为这个conetxt要被其它的类调用。 package com.atguigu.mysql_dome.Base; import android.content.Context; import android.view.View; public abstract class BasePager { public Context conetxt; |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |