Android高仿打车等软件项目源码
创始人
2025-01-10 09:00:25
0

源码简介

该项目是仿照滴滴打车等打车软件所做的项目,其中包括涉及模块技术,多线程,百度地图,意见反馈,用户投诉,登录注册,在线更新等模块功能!
源码运行截图

 

源码片段:

  1. package com.rd.callcar; 
  2.   
  3. import com.rd.callcar.Util.ExitApplication; 
  4. import com.rd.callcar.json.getJson; 
  5.   
  6. import android.app.Activity; 
  7. import android.app.ProgressDialog; 
  8. import android.content.Intent; 
  9. import android.os.Bundle; 
  10. import android.os.Handler; 
  11. import android.os.Message; 
  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 Login extends Activity { 
  19.   
  20.     private Button login, register; 
  21.     private EditText input_userid, input_pwd; 
  22.   
  23.     private ProgressDialog mpDialog; 
  24.   
  25.     final int LOGINSUCCESS_MSG = 0; 
  26.     final int LOGINFAIL_MSG = 1; 
  27.     App app = null; 
  28.   
  29.     @Override 
  30.     protected void onCreate(Bundle savedInstanceState) { 
  31.         super.onCreate(savedInstanceState); 
  32.         setContentView(R.layout.login_layout); 
  33.         ExitApplication.getInstance().addActivity(this); 
  34.   
  35.         app = (App) getApplication(); 
  36.   
  37. //      if (app.getLogin()) { 
  38. //          StartMain(); 
  39. //      } 
  40.   
  41.         // 初始化加载对话框 
  42.         mpDialog = new ProgressDialog(this); 
  43.         mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
  44.         mpDialog.setTitle(R.string.loading_data); 
  45.         mpDialog.setIcon(android.R.drawable.ic_dialog_info); 
  46.         mpDialog.setMessage(getString(R.string.waiting)); 
  47.         mpDialog.setIndeterminate(false); 
  48.         mpDialog.setCancelable(true); 
  49.   
  50.         login = (Button) findViewById(R.id.login); 
  51.         register = (Button) findViewById(R.id.register); 
  52.   
  53.         input_userid = (EditText) findViewById(R.id.input_userid); 
  54.         input_pwd = (EditText) findViewById(R.id.input_pwd); 
  55.   
  56.         login.setOnClickListener(new OnClick()); 
  57.         register.setOnClickListener(new OnClick()); 
  58.     } 
  59.   
  60.     class OnClick implements OnClickListener { 
  61.         @Override 
  62.         public void onClick(View v) { 
  63.             switch (v.getId()) { 
  64.             case R.id.login: 
  65.                 LoginMeth(); 
  66.                 break; 
  67.             case R.id.register: 
  68.                 startActivityForResult(new Intent(Login.this, Register.class), 
  69.                         1); 
  70.                 break; 
  71.             } 
  72.         } 
  73.     } 
  74.   
  75.     @Override 
  76.     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
  77.         if (requestCode == 1) { 
  78.             if (resultCode == 1) { 
  79.                 input_userid.setText(data.getStringExtra("userid")); 
  80.             } 
  81.         } 
  82.         super.onActivityResult(requestCode, resultCode, data); 
  83.     } 
  84.   
  85.     private void LoginMeth() { 
  86.         final String userid = input_userid.getText().toString().trim(); 
  87.         final String pwd = input_pwd.getText().toString().trim(); 
  88.   
  89.         if (userid.equals("")) { 
  90.             ShowToast(R.string.noUserNameErr); 
  91.             return; 
  92.         } 
  93.   
  94.         if (pwd.equals("")) { 
  95.             ShowToast(R.string.noPwdErr); 
  96.             return; 
  97.         } 
  98.   
  99.         mpDialog.show(); 
  100.         new Thread(new Runnable() { 
  101.   
  102.             @Override 
  103.             public void run() { 
  104.                 try { 
  105.                     boolean isLogin = true;//getJson.Login(userid, pwd); 
  106.                     if (isLogin) { 
  107.                         Message message = new Message(); 
  108.                         message.what = LOGINSUCCESS_MSG; 
  109.                         message.obj = userid; 
  110.                         mhandler.sendMessage(message); 
  111.                     } else { 
  112.                         Message message = new Message(); 
  113.                         message.what = LOGINFAIL_MSG; 
  114.                         mhandler.sendMessage(message); 
  115.                     } 
  116.                 } catch (Exception e) { 
  117.                     Message message = new Message(); 
  118.                     message.what = LOGINFAIL_MSG; 
  119.                     mhandler.sendMessage(message); 
  120.                 } 
  121.             } 
  122.         }).start(); 
  123.     } 
  124.   
  125.     // 线程处理 
  126.     private Handler mhandler = new Handler() { 
  127.         @Override 
  128.         public void handleMessage(Message msg) { 
  129.             mpDialog.dismiss(); 
  130.             switch (msg.what) { 
  131.             case LOGINSUCCESS_MSG: 
  132.                 app.SaveBegin("userid", "18013398197"); 
  133.                 app.SaveLogin(true); 
  134.                 StartMain(); 
  135.                 break; 
  136.             case LOGINFAIL_MSG: 
  137.                 ShowToast(R.string.loginFail); 
  138.                 break; 
  139.             } 
  140.         } 
  141.     }; 
  142.   
  143.     private void StartMain() { 
  144.         startActivity(new Intent(Login.this, StepOne.class)); 
  145.         Login.this.finish(); 
  146.     } 
  147.   
  148.     private void ShowToast(int res) { 
  149.         Toast.makeText(this, res, Toast.LENGTH_SHORT).show(); 
  150.     } 

源码链接:http://down.51cto.com/data/1976535

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...