社交软件开发5-客户端开发-android和ios验证登陆
cac55 2025-05-07 23:03 7 浏览 0 评论
欢迎订阅我的头条号:一点热
上一节,我们进行了社交软件开发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的客户端进行简单的登陆验证。
欢迎订阅我的头条号:一点热,未经同意,请勿转载。
相关推荐
- solidworks使用心得,纯干货!建议大家收藏
-
SolidWorks常见问题Q1:怎样修改,修复或删除已有SolidWorks软件的安装?A:在退出SolidWorks的状态下,于控制面板中双击添加或删除程序,选择Solidworks,单击更改或...
- Camtasia Studio 8.0注册版汉化安装包
-
CamtasiaStudio简体中文版是由TechSmith开发的一款专业的屏幕录制完全解决套件!它提供了从屏幕录像到视频编辑、转换再到发布一系列全程完全解决方案!CamtasiaStudi...
- #本站首晒# LG 29UM68 29寸21:9显示器开箱测评
-
作者:安隆隆一、前言08年初买的三星931BW,已经用了8年了。在它的陪伴下,我和奎爷、德雷克、隼龙、贝姐、里昂、苍老师、波老师一起度过了许多个日日夜夜,虽然现在还能正常使用,但确实该换了。二、选购...
- DOTA2 6月19日更新 修复DOTA2重生Beta中的BUG
-
6月19日更新修复DOTA2重生Beta中的BUG,本期为你带来的是重生Beta中的一些BUG修复,昨天更新的Beta测试中有不少游戏BUG。北京时间6月19日dota2客户端再次更新,本次更新主要...
- WPF界面开发小技巧分享——Splash Screen Manager
-
下载DevExpressv20.1完整版DevExpressv20.1汉化资源获取点击“了解更多”获取DevExpressv20.1完整版下载通过DevExpressWPFControls...
- 避免冲突!如何彻底卸载旧版本Office?
-
安装新版本Office软件之前,为了避免出现冲突,微软会建议用户卸载本机中所有的旧版本Office,但很多朋友发现有时使用常规的方法无法完全卸载它。下面我们就针对不同的场景,介绍几个彻底卸载旧版本Of...
- 真真假假设置“陷阱围墙”
-
要想保护好自己的电脑资料(宝藏),最好的办法当然就是彻底杜绝他人使用你的电脑了。不过在一些特殊的情况下,比如碍于情面不好意思直接拒绝朋友的借用要求,这时不妨采取一些更委婉的保护手段,可以试着制造一些看...
- IT审计:CentOS 6/7中 安装Open-AudIT
-
IT审计大家可能都清楚,IT审计的主要目的是为了更好的控制IT的风险,有效的帮助企业规避风险。具体而言,IT审计是为了提高企业信息系统的安全性、可靠性以及开发、运营效率,使企业信息化得到健康、全面的发...
- 软网推荐:四位一体 请个多功能影像处理者
-
截图、录制屏幕视频、制作GIF动画、图片编辑,这些都是我们在日常影像处理中要接触到的任务。以往执行这些任务,我们往往需要分别借助于相应的软件来处理。其实,只需一款免费软件ShareX,就能完成上述诸多...
- 推荐一款显示器分屏软件,单显示器解决内容对照问题
-
如今的电脑显示器越来越大,在有办公或是娱乐的时候会需要将多个窗口的内容进行比照。在没有多个显示器的情况下衍生除了带鱼屏(21:9、34:9)解决了这个难题,但这样也意味这需要购买新的显示器,有没有办法...
- Windows 各版本自带截图工具及好用外部截图工具全解析
-
一、Windows版本自带截图工具总览介绍Windows7、8、10、11以及WindowsServer2018、2019不同版本自带截图工具的情况。(一)Windows7自带截图...
- 想打开Win10隐藏的神秘功能吗,请打开操作系统的隐藏“模式”
-
出于某种原因,Windows10的一些最有用的功能被神秘地隐藏起来了,下面,我们将揭示如何找到操作系统的隐藏“模式”,在哪里可以找到它们、它们的作用以及如何充分利用它们。一、改进Windows的工作...
- IT之家学院:为Win10/Win8.1/Win7截图操作配上个性音效
-
在Windows中我们常用的截图方法之一便是按键盘上的PrintScreen健或Alt+PrintScreen组合键,其中前者为截取整个屏幕,后者为截取当前活动窗口,不过这两个操作都没有任何提示。...
- 再见全家桶:微软Win10更新公布App删减名单
-
北京时间7月24日消息,目前Windows10Redstone3(秋季创意者更新)已经敲定在9月推送,传言其版本号为version1709。现在微软又带来一个好消息,就是Win10更新将会体大...
- QQ截图不好用?这才是真正给力的截图方式
-
来源:太平洋电脑网大家都非常喜欢用QQ截图,然而QQ截图真的是最好的截图方法吗?未必!在很多场合当中,QQ截图的表现难以令人满意。今天,就来给大家介绍一些真正给力的截图方法!大家最常用的QQ截图,很多...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)