实现android注册登陆功能的客户端服务器源码与解析

eclipse中进行android界面设计与安装教程 eclipse中进行android界面设计与安装教程 根据自己的操作系统(一般为Windows),到https://www.oracle.com/java/technologies/javase-jdk8-downloads.html下载相应版本的JDK, Windows32位下载Windows x86版本,64位下载Windows x64版本,但是要是进行本页面的操作,下载32位的,因为后面的... 阅读详情

From:http://blog.youkuaiyun.com/grape875499765/article/details/49968067

在android的app中,有关注册登陆功能十分常见,对于用户来说,第一次使用某个软件势必会涉及到这个问题,所以注册登录功能的实现也是一种基础功能,对于android开发人员也是必备技能,下面将就具体内容进行详细讲解。

一、必备基础

1、java基础和java中的socket编程,如果不懂的话不建议看代码,先把基础弄懂再来看事半功倍

2、android编程基础,至少要会使用最基本的button,edittext控件,会使用layout,否则同上一条

3、运行环境为eclipse

二、功能实现效果

实现注册登录功能需要客户端和服务器共两个工程

一个工程的名字为MyClient,另外一个为MyServer

1、第一步先运行MyServer工程,开启服务器,开启时Console会有提示,服务器回归原点


2、在手机上安装好MyClient,打开app


3、点击注册按钮,同时输入用户和密码,这里举例为 用户名为1,密码为2,点击注册,此时eclipse的console处会有变化


4、输入用户名和密码,点击登录,输入正确和错误在eclipse的console都有消息,输入正确则进入登陆后界面



三、服务器端讲解

话不多说,直接上代码,都在注释里

[java]  view plain  copy
  1. package com.test;  
  2.   
  3. import java.io.DataInputStream;  
  4. import java.io.DataOutputStream;  
  5. import java.io.IOException;  
  6. import java.io.InputStream;  
  7. import java.io.OutputStream;  
  8. import java.net.ServerSocket;  
  9. import java.net.Socket;  
  10.   
  11.   
  12.   
  13. public class MyServer {  
  14. public static void main(String[] args){  
  15.       
  16.     String saveUsername=new String("admin");  
  17.     String savePassword=new String("admin");  
  18.     try{  
  19.         ServerSocket server=new ServerSocket(6666);  
  20.         while(true){  
  21.             System.out.println("服务器回归原点");//调试信息  
  22.             Socket s1=server.accept();  
  23.             System.out.println("接到客户端socket请求");//调试信息  
  24.             InputStream is1=s1.getInputStream();  
  25.             DataInputStream dis1=new DataInputStream(is1);  
  26.             String str=dis1.readUTF();  
  27.             System.out.println(str);//调试信息  
  28.             //如果发来注册的信息就做如下操作  
  29.             if(str.equals("Register")){  
  30.                 s1=server.accept();  
  31.                 is1=s1.getInputStream();  
  32.                 DataInputStream dis2=new DataInputStream(is1);  
  33.                 String []getStr=dis2.readUTF().split(" ");//用空格把账号和密码分开存储  
  34.                 saveUsername=getStr[0];//取出账号  
  35.                 savePassword=getStr[1];//取出密码  
  36.                 System.out.println(saveUsername+" "+savePassword);//调试信息  
  37.                 dis2.close();  
  38.             }  
  39.             //如果发来登录账号和密码做如下操作  
  40.             else{  
  41.                 System.out.println("进入登陆判断");//调试信息  
  42.                 String []getStr=str.split(" ");//用空格把账号和密码分开存储  
  43.                 //如果账号和密码都对的话则返回允许登录命令  
  44.                 if(saveUsername.equals(getStr[0])&&savePassword.equals(getStr[1])){  
  45.                     OutputStream os=s1.getOutputStream();  
  46.                     DataOutputStream dos=new DataOutputStream(os);  
  47.                     dos.writeUTF("YES");  
  48.                     dos.close();  
  49.                     System.out.println("用户密码正确");//调试信息  
  50.                 }  
  51.                 //如果账号和密码不吻合则返回禁止登录命令  
  52.                 else{  
  53.                     OutputStream os=s1.getOutputStream();  
  54.                     DataOutputStream dos=new DataOutputStream(os);  
  55.                     dos.writeUTF("NO");  
  56.                     dos.close();  
  57.                     System.out.println("用户密码错误");//调试信息  
  58.                 }  
  59.                 System.out.println(getStr[0]+" "+getStr[1]);//调试信息  
  60.             }  
  61.             dis1.close();  
  62.             s1.close();  
  63.               
  64.         }  
  65.     }catch(IOException e){  
  66.         e.printStackTrace();  
  67.     }  
  68.       
  69. }  
  70. }  

四、客户端讲解

LogIn.java的代码内容

[java]  view plain  copy
  1. package com.example.myclient;  
  2.   
  3. import java.io.DataInputStream;  
  4. import java.io.DataOutputStream;  
  5. import java.io.InputStream;  
  6. import java.io.OutputStream;  
  7. import java.net.Socket;  
  8.   
  9. import android.app.Activity;  
  10. import android.content.Intent;  
  11. import android.os.Bundle;  
  12. import android.os.Handler;  
  13. import android.os.StrictMode;  
  14. import android.view.View;  
  15. import android.view.View.OnClickListener;  
  16. import android.widget.Button;  
  17. import android.widget.EditText;  
  18. import android.widget.Toast;  
  19.   
  20. public class LogIn extends Activity{  
  21.   
  22.     private EditText etxtUserName;  
  23.     private EditText etxtPassword;  
  24.     private Button btnLogin;  
  25.     private Button btnRegister;  
  26.       
  27.     //这里要改成所处局域网的ip,也就是你现在手机和电脑同时的ip,在命令行中用ipconfig查看  
  28.     private static final String ipAdress="192.168.1.102";  
  29.   
  30.     @Override  
  31.     protected void onCreate(Bundle savedInstanceState) {  
  32.         super.onCreate(savedInstanceState);  
  33.         setContentView(R.layout.log_in);  
  34.           
  35.         etxtUserName=(EditText) findViewById(R.id.etxtUserName);  
  36.         etxtPassword=(EditText) findViewById(R.id.etxtPassword);  
  37.   
  38.         btnLogin=(Button) findViewById(R.id.btnLogin);  
  39.         btnRegister=(Button) findViewById(R.id.btnRegister);  
  40.           
  41.         btnLogin.setOnClickListener(new MyButtonOnClickListener());  
  42.         btnRegister.setOnClickListener(new MyButtonOnClickListener());  
  43.           
  44.     }  
  45.      
  46.       
  47. /////////////////////////////////////////////////////////////////////////////////////  
  48.     class MyButtonOnClickListener implements OnClickListener {  
  49.   
  50.         public void onClick(View arg0) {  
  51.             // TODO Auto-generated method stub  
  52.             Intent intent = new Intent();  
  53.             switch (arg0.getId()) {  
  54.             case R.id.btnLogin:  
  55.                 try{         
  56.                     //端口号为6666,自己选择,只要不和电脑中的其他程序冲突即可  
  57.                     Socket s1=new Socket(ipAdress,6666);  
  58.                     OutputStream os=s1.getOutputStream();  
  59.                     DataOutputStream dos=new DataOutputStream(os);  
  60.                     dos.writeUTF(etxtUserName.getText().toString() + " "  
  61.                             + etxtPassword.getText().toString());// 向服务器传送登录账号和密码  
  62.                     //等一秒钟  
  63.                      new Handler().postDelayed(new Runnable(){    
  64.                          public void run() {    
  65.                          //execute the task    
  66.                          }    
  67.                       }, 1000);   
  68.                     //  
  69.                     InputStream is=s1.getInputStream();  
  70.                     DataInputStream dis=new DataInputStream(is);  
  71.                     String getStr=dis.readUTF();//YES或者NO  
  72.                     if(getStr.equals("YES")){  
  73.                         intent.setClass(LogIn.this,  
  74.                                 Personal.class);  
  75.                         LogIn.this.startActivity(intent);  
  76.                         finish();  
  77.                     }  
  78.                     else if(getStr.equals("NO")){  
  79.                         Toast.makeText(getApplicationContext(), "登录失败",  
  80.                                  Toast.LENGTH_SHORT).show();  
  81.                     }  
  82.                     dis.close();  
  83.                     dos.close();  
  84.                     s1.close();  
  85.                 }catch(Exception e){  
  86.                     e.printStackTrace();  
  87.                     //开了个后门,可以用这个账号直接登录  
  88.                     if (etxtUserName.getText().toString().equals("admin")  
  89.                             && etxtPassword.getText().toString()  
  90.                                     .equals("admin")) {  
  91.                         intent.setClass(LogIn.this,  
  92.                                 Personal.class);  
  93.                         LogIn.this.startActivity(intent);  
  94.                         finish();  
  95.                     }  
  96.                     else{  
  97.                         Toast.makeText(getApplicationContext(), "登录失败 ",  
  98.                                  Toast.LENGTH_SHORT).show();  
  99.                     }  
  100.                 }  
  101.                 break;  
  102.             case R.id.btnRegister:  
  103.                 try{         
  104.                     /** 
  105.                      * 从android 4.0以后就不允许这样操作了,因为如果在主线程里联网, 
  106.                      * 如果网络不好那么整个程序就卡死在那里了。 
  107.                      * 所以android4.0以后对要联网的代码必须在新开一个线程来做。 
  108.                      */  
  109.                     StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()  
  110.                                     .detectDiskReads().detectDiskWrites()  
  111.                                     .detectNetwork().penaltyLog().build());  
  112.                     StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()  
  113.                             .detectLeakedSqlLiteObjects().penaltyLog()  
  114.                             .penaltyDeath().build());  
  115.                     Socket s1=new Socket(ipAdress,6666);  
  116.                     OutputStream os=s1.getOutputStream();  
  117.                     DataOutputStream dos=new DataOutputStream(os);  
  118.                     dos.writeUTF("Register");//向服务器传送Register字符  
  119.                     dos.close();  
  120.                     s1.close();  
  121.                     //如果没有异常则跳转到注册界面  
  122.                       
  123.                 }catch(Exception e){  
  124.                     e.printStackTrace();  
  125.                     Toast.makeText(getApplicationContext(), "注册失败 IOException"+e.toString(),  
  126.                              Toast.LENGTH_SHORT).show();  
  127.                 }  
  128.                 intent.setClass(LogIn.this,  
  129.                         Register.class);  
  130.                 LogIn.this.startActivity(intent);  
  131.                 finish();  
  132.                 break;  
  133.             }  
  134.               
  135.         }  
  136.     }  
  137. }  

Register.java的内容:

[java]  view plain  copy
  1. package com.example.myclient;  
  2.   
  3. import java.io.DataOutputStream;  
  4. import java.io.IOException;  
  5. import java.io.OutputStream;  
  6. import java.net.Socket;  
  7. import java.net.UnknownHostException;  
  8.   
  9. import android.app.Activity;  
  10. import android.content.Intent;  
  11. import android.os.Bundle;  
  12. import android.view.View;  
  13. import android.view.View.OnClickListener;  
  14. import android.widget.Button;  
  15. import android.widget.EditText;  
  16. import android.widget.Toast;  
  17.   
  18. public class Register extends Activity{  
  19.       
  20.     private EditText etxtUserName;  
  21.     private EditText etxtPassword;  
  22.     private Button btnRegister;  
  23.       
  24.     private static final String ipAdress="192.168.1.102";  
  25.       
  26.     //////////////////  
  27.     protected void onCreate(Bundle savedInstanceState){  
  28.         super.onCreate(savedInstanceState);  
  29.         setContentView(R.layout.register);  
  30.        
  31.         etxtUserName=(EditText) findViewById(R.id.etxtUserName);  
  32.         etxtPassword=(EditText) findViewById(R.id.etxtPassword);  
  33.           
  34.         btnRegister=(Button) findViewById(R.id.btnRegister);  
  35.           
  36.         btnRegister.setOnClickListener(new MyButtonOnClickListener());  
  37.     }  
  38.       
  39. /////////////////////////////////////////////////////////////////////////////////////  
  40.     class MyButtonOnClickListener implements OnClickListener {  
  41.   
  42.         public void onClick(View arg0) {  
  43.             // TODO Auto-generated method stub  
  44.             Intent intent = new Intent();  
  45.             switch (arg0.getId()) {  
  46.             case R.id.btnRegister:  
  47.                 try{              
  48.                     Socket s1=new Socket(ipAdress,6666);  
  49.                     OutputStream os=s1.getOutputStream();  
  50.                     DataOutputStream dos=new DataOutputStream(os);  
  51.                     dos.writeUTF(etxtUserName.getText().toString() + " "  
  52.                             + etxtPassword.getText().toString());// 传给服务器账号和密码  
  53.                     dos.close();  
  54.                     s1.close();  
  55.                 }catch(UnknownHostException e){  
  56.                     e.printStackTrace();  
  57.                     Toast.makeText(getApplicationContext(), "注册失败",  
  58.                              Toast.LENGTH_SHORT).show();  
  59.                 }catch(IOException e){  
  60.                     e.printStackTrace();  
  61.                     Toast.makeText(getApplicationContext(), "注册失败",  
  62.                              Toast.LENGTH_SHORT).show();  
  63.                 }  
  64.                 intent.setClass(Register.this,  
  65.                         LogIn.class);  
  66.                 break;  
  67.             }  
  68.             Register.this.startActivity(intent);  
  69.             finish();  
  70.         }  
  71.     }  
  72. }  

Personal.java的代码内容:

[java]  view plain  copy
  1. package com.example.myclient;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5.   
  6. public class Personal extends Activity {  
  7.   
  8.     @Override  
  9.     protected void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11.         setContentView(R.layout.personal);  
  12.     }  
  13. }  


五、注意点

1、要注意该代码只适用于手机和电脑在同一局域网中,换句话说连得都是一个网,因为你的电脑没有公网IP,是不能当做真正的服务器使用的,除非你花钱买了IP

2、要记得先启动服务器程序,再运行客户端应用,否则会出问题

3、再运行之前把ip改成自己的才可以使用,要在命令行中用ipconfig命令查看

4、由于服务器程序是死循环,调试后如果没有关闭服务器程序,要记得终止其运行,否则之后再运行由于端口被占用会报错,如果在eclipse中找不到终止的方法,则可以在任务管理器的进程属性中找到其PID号停止其运行,查找PID号的方法是在命令行中输入netstat -ano,如果不理解可以自行百度

两个工程文件源码链接

http://download.youkuaiyun.com/detail/grape875499765/9289373

android 仿微信demo————微信消息界面实现(服务端) 服务端微信消息页实现 微信消息页的实现,和登录,注册是类似的,无非就是接受客户端数据,然后通过这个数据去数据库查找,如果查得到话,返回相应值给客户端。 在移动端中,当用户输入表单后点击登陆,如果登陆成功,则会把微信号通过Itent传给主界面activity,而在微信主界面点击微信消息页时,会把微信号作为fragment的参数传给微信消息页,然后通过把微信号数据发送给服务器,服务器接受到这消息,便会在数据库中查找,查得到得话便会返回所以列给客户端,而客户端接受到数据后便把数据显示到相应得组件上(这个功能在 阅读详情

相关推荐

mysql答题系统android_Android答题APP的设计与实现

还没有整理完,待续……学校开了Android课,最后让交一个大作业。正好拿来练练手,记录下思路。也希望能给有需要的朋友们一些帮助。恩,纯小白教程,大神们可以绕路了。作业的题目是这样的:考试APP系统:1)要求有用户登陆功能:从远程服务器进行登陆验证。2)要有考试测试界面,主要是选择、判断、简答题目测试。3)要有统计成绩界面和错题显示界面。评分标准:1、界面设计占评分的30%2、系统运行正确; 功能...

weixin_29811891的博客 1835

实现android注册登陆功能的客户端服务器源码与解析socket

在android的app中,有关注册登陆功能十分常见,对于用户来说,第一次使用某个软件势必会涉及到这个问题,所以注册登录功能的实现也是一种基础功能,对于android开发人员也是必备技能,下面将就具体内容进行详细讲解。 一、必备基础 1、java基础和java中的socket编程,如果不懂的话不建议看代码,先把基础弄懂再来看事半功倍 2、android编程基础,至少要会使用最基本的b

灵魂画师牧码 9120

Android简单的注册登录页面ecplise开发

Android简单的注册登录页面ecplise开发,用Post方式提交数据

【Android】eclipse 实现登录、注册、修改密码、数据库操作

该项目参考:https://blog.youkuaiyun.com/midnight_time/article/details/91203973 目录 登录、注册、修改密码功能的实现 一、UI的设计 二、实现功能部分,Java文件 登录、注册、修改密码功能的实现 一、UI的设计 1.主界面的布局文件 main.xml文件代码如下所示: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/...

weixin_44480960的博客 1万+

Android登录界面布局

eclipse下安卓app登录界面布局,android版本为4.0.3,API15,我直接在安卓手机真机上测试,还在入门阶段,参考了论坛的例子写的一个界面布局

安卓开发之简单的通过服务器端验证密码登录

安卓应用程序,通过post请求服务器端Servlet,验证用户名和密码,仅做了密码显示,没有做验证逻辑,小白一枚,希望大家多多指教

加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析socket

我11月21日发表了“实现android注册登陆功能的客户端服务器源码与解析”的博客,刚刚加入了数据库,把我自己加入数据库的过程和又完善了服务器的代码分享一下 一、阅读要求 同11月21日发表博文,如果没有阅读的话建议先阅读后再阅读本博文 对数据库有基本的了解和掌握 二、实现情况 1、解决了在注册时忽然退出再次注册这种情况下,服务器端的bug 2、解决了在注册时忽然退出

灵魂画师牧码 1万+

SAP MTO模式实战:从库存管理到成本核算的深度解析

本文深入解析SAP MTO(Make-to-Order)模式在制造业中的应用,从库存管理到成本核算的全流程实战技巧。通过对比MTS模式,详细阐述MTO的核心逻辑、库存管理配置、成本核算路径及与PP模块的集成要点,帮助企业实现按单生产的高效管理,优化库存水平和资金占用。

weixin_29204205的博客 709

加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析

From:http://blog.youkuaiyun.com/grape875499765/article/details/49981951 我11月21日发表了“实现android注册登陆功能的客户端服务器源码与解析”的博客,刚刚加入了数据库,把我自己加入数据库的过程和又完善了服务器的代码分享一下 一、阅读要求 同11月21日发表博文,如果没有阅读的话建议先阅读后再阅读本博文

It_BeeCoder的博客 4794

基于ASP.NET+SQLServer的美妆网站的设计与实现

通过本次ASP.NET MVC美妆商城项目的开发,我们实现了一个功能完善、性能稳定的在线购物平台。该项目不仅提升了用户的购物体验,也为商家提供了一个高效的商品管理和销售渠道。未来,我们将持续优化系统功能,提升用户体验,以适应不断变化的市场需求。

毕业设计大牛哥 1502

希捷硬盘卡死修复实战:U盘启动盘制作与低格清零全流程

机械硬盘使用多年后常出现卡顿、假死、坏道等问题,很多用户在网上搜索“希捷硬盘低格工具”或“U盘硬盘复活器”,却发现要么工具不明,要么操作不当造成二次损伤。其实所谓修复工具,本质是U盘启动环境配合硬盘检测与清零软件,低格并非修复物理坏道,而是通过全盘写零触发主控重映射,隔离不稳定扇区。懂原理后,用官方SeaTools、Ventoy/U盘启动盘、Victoria或Linux dd等组合工具,即可对可抢救的硬盘做清零修复。这一技术适用于逻辑坏道、SMART警告、扇区不稳定等场景,但需先备份数据并判断盘体是否有异响

weixin_30431445的博客 219

android客户端加数据库,加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析...

【实例简介】实现连接mysql数据库,android的登录注册,包括源代码和mysql数据文件。【实例截图】【核心代码】加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析(1)├── MyClient│ ├── AndroidManifest.xml│ ├── bin│ │ ├── AndroidManifest.xml│ │ ├── MyClien...

weixin_42349434的博客 419

Workbench-nCode下发动机引擎应力疲劳分析

在工程数据库中定义材料模型参数,结构场分析基本参数:密度7850Kg/m3、弹性模量210E9Pa、泊松比0.3,疲劳分析参数:应力-疲劳曲线表(S-N Curve),应力-疲劳曲线如下图2所示,如果没有合适的数据可使用结构钢材料进行分析。网格为四面体高阶单元,各零件的单元尺寸如下表1所示,单元质量分布如下图3所示。在workbench平台下搭建分析流程如下图6所示,前述设定完成后,提交求解后即可得到相应的应力、应变结果,更新结果后目录树中会有相应的nCode DesignLife插件,如下图7所示。

ansysxuexizhe的博客 1549

开发日志—详细的链接服务器代码(登录)

进行链接服务器 ,输入密码账号,登录页面 是基本APP都有的功能,总结了下:过         用户登陆界面 /** * @author think *用户登陆界面 */ public class LoginUi extends Activity implements HttpCallBack{ private EditText emailET; private EditTex

f5647的专栏 1656

PSM倾向匹配详细步骤和程序

目录1.安装psmatch2统计包。2.数据准备3.数据分析及命令解读4.结果解读4.1模型拟合结果,此处无太多实际意义。4.2试验组可匹配的观测概览,按照命令中设定的匹配规则,试验组有8例患者未能匹配到合适对照。4.3结果解读的重点应该是对stata新生成的中间变量的解读。4.4均衡性检验结果4.5匹配结果的图示化5.Stata命令汇总最后留下两个问题给大家思考:题目 试验设计中,匹配的目的在于确保干预效应估计是建立在可比个体之间的不同结果的基础上。最简单的匹配方式是将干预组和对照组中协变量值相同的两个个

平平淡淡,戒急用忍,一生学闭嘴。 5万+

【FPGA XDMA AXI Bridge 模式】PCIe:BARs 和 AXI:BARs 含义解析

Xilinx的 DMA/Bridge Subsystem for PCI Express IP核中,支持普通的XDMA模式,但是这种模式只允许主机端发起PCIe 读写请求,FPGA内部无法主动发起读写请求,也即FPGA无法主动读写HOST的内存。而该IP核的另一种模式,AXI Bridge模式则支持HOST主动读写,以及FPGA主动读写。该模式下有个参数需要配置,分别是PCIe:BARs以及AXI:BARs。而上述的普通模式只有PCIe:BARs需要配置。下面详细说说这两个参数的含义。

weixin_45888152的博客 3735

WordPress Blog Android客户端源码分析(一)

一直想找一个大型的Android开源项目进行分析,由于自身和导师课程需要选择了wordpress的Android客户端源码进行学习和解读。源码github官方下载地址:开源项目地址。分析源码的最佳手段当然是动手实践,能够修改源码并看到实际的显示效果,成果的展示是自己前进的最好动力。

tyy139719的博客 3095

华为OD机考双机位C卷 - 构成正方形的数量 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 成正方形的数量 (OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 5939

Android PHP Okhttp3模拟登陆和注册

Android+PHP+OKHttp3+MySQL 完成登陆验证和注册功能

qiou2719的专栏 4516

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4247

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android学习笔记之使用Eclipse搭建web服务器实现Android客户端登录

接触Android有半年了,一直啃不下也不敢去触碰的一块儿硬骨头就是客户端与服务端的通信。 上一篇文章写了通过谷歌官方通信框架Volly实现手机号码归属地查询,但这并不是真真意义上的掌握客户端与服务端之间的数据交换, 因为服务端是调用了由聚合网提供的一个接口API,所以这次我尝试使用eclipse亲手搭建自己的web服务器并实现一个简单的登录功能。 由于我是超级菜鸟型,所以本文适合超级入门级菜鸟参考,大神请无视奋斗。

小康子的博客 4341

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

基于Android + Web+ MySQL设计和开发微博应用

实践教学的内容或要求: ①用Android开发微博客户端; ②用JSP或PHP开发微博Web服务器; ③用MySQL做Web服务器的后台数据库; ④可以发表微博、查看微博及微博列表等功能; ⑤可以发表评论功能; ⑥可以实现用户客户端登陆功能。......

JRcoder 5683

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

基于xmpp实现android端实现即时通讯---思路(一)

实现思路: 服务器端: 通过openfire或者tigase部署服务器,本人使用的是openfire 到百度openfire官网直接下载个即可   是exe可执行文件,直接安装即可 配置可百度“openfire 安装”根据提示进行,都是傻瓜式操作。 如有需要可自己下载源码部署进行修改,以适应自己的项目 客户端: 我们把项目分成业务服务器和聊天服务器。  业务服务器

mozhenhau的IT编程学习 2929

2020年Android开发实战!带你一步一步深入Handler源码,安卓系列学习进阶视频

大家是不是和我有一样的感觉,不知道什么时候开始,全世界都在问:Android开发凉了吗?就我个人而言,我觉得没有,从我干Android开发开始,就从来没有觉得Android开发在走下坡路。 市场需求 讲道理,Android开发的市场需求还是很大的,因为从岗位招聘情况来看,Android开发岗位的需求量并不比其他岗位少。如果说Android开发凉了,那有些行业应该已经“凉凉三生三世思念成河”了。那是什么原因导致了焦虑呢,我想了想应该是前几年移动开发行业过度火爆,门槛太低导致大家都蜂拥而入,所以现在供应些许不

m0_52308677的博客 348

android XMPP实现IM聊天一(登录和注册)

其实对于android基于openfire+asmack+spark的有关于IM聊天的源码、网上已经可以找出一大堆这些资料了,但是每个人的项目经历不同,对XMPP的体验也不同,多少都会有些感悟的,现在我就把我项目中用到XMPP的流程贴出来,也算是自己的一个项目经历吧。 对于openfire服务器的搭建与安装这里我就不介绍了,自己也可以去网上下载一个服务器,安装方法也很简单,直...

weixin_30369087的博客 178

android+高仿+日历,项目源码--Android天气日历精致UI源码

技术要点:1. 天气日历精致UI2. Android的Http通信技术3. Android的天气信息解析4. Android的日历信息的统计5. Andorid的地理位置的管理6.源码带有非常详细的中文注释……详细介绍:1.天气日历精致UI此套源码的UI不错,比较精致。实现了天气信息的合理显示,位置的管理以及日历信息的显示2.Android的Http通信技术通过Http通信技术与服务器进行通信,...

weixin_42466868的博客 1183
上一篇: 百度地图 显示准确的位置
下一篇: 加入数据库mysql实现android注册登陆功能的客户端服务器源码与解析
It_BeeCoder
博客等级 码龄10年 967粉丝 238原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值