网站首页 > 开源技术 正文
欢迎订阅我的头条号:一点热
上一节,我们进行了社交软件开发4-服务器端-业务逻辑层和数据访问层的代码编写,通过数据库操作可以简单查验出是否有我们输入的账号和密码。那么这一节我将分两部分进行,第一部分介绍一下android客户端的手机登陆部分,下一节我们再开发Ios客户端登陆部分的开发,用于对上一节的服务器的代码进行测试。
知识准备:
android客户端的开发:
1、Java 环境的安装,主要是用于Android的开发。android studio的安装,具体情况,可以自己到Google官网下载,这里就不做详细的解释了。不过到时看看最好写好全部文章可以插入环境的安装的文章的。作为一个附录来展示。
Ios客户端的开发
1、Xcode的下载,这个是用于ios的开发。
开发语言:
android客户端:java
ios客户端:object c,这里声明,可以用swift,我的整个项目用object C。
开发环境:
MAC+android studio+xcode
可能会遇到的难题:
不知道如何安装Java环境,无法下载Android studio。这个大家可以自行解决,或者给我留言。关注我的头条号:一点热,给我回复。
下面开始今天的教程。
android客户端的设计:
1、打开Android studio,然后创建一个项目。file->new project.这是会弹出如下图的界面。
第一个是应用的名字,第一个字母大写,第一个是公司的域名,第三个包名,最后一个是项目的位置,我们的程序王软件,起的项目名字为:YeehotProgramKing ,如下图
点击next,我们直接支持最低版本为9,就是andriod 2.3
点击下一步,我们会看到一个活动界面的选择,这个界面就是启动的第一个界面,我们可以选择一个登陆的界面,这样就不要我们布局了。超级方便。如下图
下一步,就是登陆的名字和布局的XML文件的,我们直接默认,然后点击finish。
大概过了一会,我们的项目就创建好了,如下图,但是我们会发现下面出现有一个错误,说这个类需要API等级为11的,才可以用,这个接口我们可以不用他,把他注释掉,我们主要是用它的布局文件。
当然注释这个接口,也要把它的方法注释。
注释后,把这里改一改
private void populateAutoComplete() {
if (!mayRequestContacts()) {
return;
}
// if (VERSION.SDK_INT >= 14) {
// // Use ContactsContract.Profile (API 14+)
// getLoaderManager().initLoader(0, null, this);
// } else if (VERSION.SDK_INT >= 8) {
// // Use AccountManager (API 8+)
// new SetupEmailAutoCompleteTask().execute(null, null);
// }
new SetupEmailAutoCompleteTask().execute(null, null);
}
这个时候可以启动看看效果,我这里是直接真机看效果的了。模拟器太卡了。
这个界面就是我们登陆的界面,但是全部都是英文的信息,我们需要配置一下
在项目找到strings.xml,把信息改成项目的中文名字。
再次启动,我们可以看到如下的效果图
我们这个时候可以输入账号和密码测试,但是输入后会发现退出程序了。那是因为我们还没有实现网络的功能。我们还没有进行客户端登陆的操作。
接着我们进行网络部分的开发
我们可以直接用httpclient进行连接,但是我这里不用它,觉得太多东西要弄了,哈哈,这里推荐一个第三方的库android-async-http,它是支持异步操作的,非常方便,
我们打开gradle的配置文件输入compile 'com.loopj.android:android-async-http:1.4.9'
输入后,点击右上角的sync now,这个库就可以配置到项目里
具体使用方法大家可以上去github看看https://github.com/loopj/android-async-http
接着我们编写一个登陆的方法,上一节我们已经写了邮箱和密码的服务器的访问了,我们这里直接输入上一节的服务器地址和参数,连接成功显示输入信息。代码如下:
public void login(String email,String passwd){
RequestParams params=new RequestParams();
params.put("email",email);
params.put("passwd",passwd);
client.get("http://192.168.3.4:8080/Yeehot-Program-King/user/login", params, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
String result=new String(responseBody);
if (result!=null){
Toast.makeText(LoginActivity.this,result,Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(LoginActivity.this,"无法访问服务器",Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
}
});
}
看是不是很简单,这样就完成了一个登陆的连接了。
接着我们还要开始调用我们的方法。
我们在代码调用的attemptLogin();改成我们自己的登陆方法,找到如下代码,把它注释,
mAuthTask = new UserLoginTask(email, password);
mAuthTask.execute((Void) null);
把它改成
//showProgress(true);
// mAuthTask = new UserLoginTask(email, password);
// mAuthTask.execute((Void) null);
login(email, password);
再启动一下程序,输入邮箱和密码,发现 显示“无法访问服务器”,
查看控制台信息,说没有权限,我们需要在AndroidManifest.xml添加如下代码:
<uses-permission android:name="android.permission.INTERNET"/>
这个时候我们再编译程序,启动,输入邮箱和密码,可以看到弹出的信息,和我们上一节显示的信息一致。
如果正确的
如果错误
这一节,就写得这里,下一节我们讲解写一个ios的客户端进行简单的登陆验证。
欢迎订阅我的头条号:一点热,未经同意,请勿转载。
- 上一篇: 尝鲜 Vue3.0+Vite 自定义导航栏+弹窗组件
- 下一篇: 自拍杆,靠边站!自拍勺才是爱拍族福音
猜你喜欢
- 2025-01-05 聚沙成塔 | 需要注意的交互细节01
- 2025-01-05 安卓中的ARCore和Sceneform-处理手势和碰撞
- 2025-01-05 如何开发视频会议App?
- 2025-01-05 微信小程序官方设计规范(附PSD+Sketch源文件)
- 2025-01-05 自拍杆,靠边站!自拍勺才是爱拍族福音
- 2025-01-05 尝鲜 Vue3.0+Vite 自定义导航栏+弹窗组件
- 2025-01-05 交互设计基础知识
- 2025-01-05 vue3.0系列:Vue3自定义PC端弹窗组件V3Layer
- 2025-01-05 教你一招,手机耳机音量一键同步!
- 2025-01-05 Windows9新视频曝光:右下角通知中心类似Android
你 发表评论:
欢迎- 05-16东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 05-16这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 05-16湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- 05-16Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- 05-16G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- 05-16DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 05-16上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- 05-16WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 最近发表
-
- 东契奇:DFS训练时喷了我很多垃圾话 我不懂他为什么比赛不这么干
- 这两球很伤!詹姆斯空篮拉杆不中 DFS接里夫斯传球空接也没放进
- 湖人自媒体调查:89%球迷希望DFS回归79%希望詹姆斯回归
- Shams:湖人得到全能球员DFS 节省了1500万奢侈税&薪金空间更灵活
- G5湖人胜率更高!詹姆斯不满判罚,DFS谈5人打满下半场:这很艰难
- DFS:当东契奇进入状态 所有防守者在他面前都像个圆锥桶
- 上一场9中6!DFS:不能让纳兹-里德这样的球员那么轻松地投三分
- WIDER FACE评测结果出炉:滴滴人脸检测DFS算法获世界第一
- 湖人自媒体调查:89%球迷希望DFS回归 79%希望詹姆斯回归
- 一觉醒来湖人苦盼的纯3D终于到位 DFS能带给紫金军多少帮助
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)