歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android飛信群發助手【附源碼】

Android飛信群發助手【附源碼】

日期:2017/3/1 10:21:52   编辑:Linux編程

很久以前寫過的一個Android程序,主要用到了ListView,ContentProvider,solite數據庫和Java網絡通信實現了基於第三方API的飛信群發助手,實現了飛信的添加好友,發送飛信和飛信群發功能,可以作為參考,源碼我已經上傳,下載地址我會放在下面,供大家下載學習。本人小菜一個。。。。歡迎大家拍磚~~~

這是程序的主界面:

主界面源代碼,FetionSend.java

  1. package com.huangcheng.mainFrame;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.net.HttpURLConnection;
  5. import java.net.URL;
  6. import java.util.regex.Pattern;
  7. import android.app.Activity;
  8. import android.app.AlertDialog;
  9. import android.app.ProgressDialog;
  10. import android.app.AlertDialog.Builder;
  11. import android.content.Context;
  12. import android.content.DialogInterface;
  13. import android.content.Intent;
  14. import android.content.SharedPreferences;
  15. import android.content.SharedPreferences.Editor;
  16. import android.os.Bundle;
  17. import android.os.Handler;
  18. import android.os.Message;
  19. import android.view.View;
  20. import android.view.View.OnClickListener;
  21. import android.widget.Button;
  22. import android.widget.EditText;
  23. import android.widget.Toast;
  24. import com.huangcheng.FetionAdd.AddPerson;
  25. import com.huangcheng.FetionSend.SendPerson;
  26. public class FetionSend extends Activity {
  27. /** Called when the activity is first created. */
  28. // private final boolean state=false;;
  29. private final int test_fail = 0;
  30. private final int test_true = 1;
  31. private Button add, send, quit, save;
  32. private EditText user, pwd;
  33. private String username, password;
  34. private ProgressDialog progressDialog;
  35. @Override
  36. public void onCreate(Bundle savedInstanceState) {
  37. super.onCreate(savedInstanceState);
  38. setContentView(R.layout.main);
  39. add = (Button) findViewById(R.id.AddPeople);
  40. send = (Button) findViewById(R.id.SendPeople);
  41. quit = (Button) findViewById(R.id.Quit);
  42. save = (Button) findViewById(R.id.SaveUser);
  43. user = (EditText) findViewById(R.id.feitionnumber);
  44. pwd = (EditText) findViewById(R.id.feitionpwd);
  45. SharedPreferences sharedPreferences = getSharedPreferences(
  46. "Fetion_Send", Context.MODE_PRIVATE);
  47. username = sharedPreferences.getString("username", "");
  48. user.setText(username);
  49. password = sharedPreferences.getString("password", "");
  50. pwd.setText(password);
  51. save.setOnClickListener(new OnClickListener() {
  52. @Override
  53. public void onClick(View arg0) {
  54. // TODO Auto-generated method stub
  55. TestLogin();
  56. }
  57. });
  58. add.setOnClickListener(new OnClickListener() {
  59. @Override
  60. public void onClick(View arg0) {
  61. // TODO Auto-generated method stub
  62. SharedPreferences sharedPreferences_test = getSharedPreferences(
  63. "test", Context.MODE_PRIVATE);
  64. boolean test = sharedPreferences_test.getBoolean("test", false);
  65. if (user.getText().length() == 0 || pwd.getText().length() == 0
  66. || isNumeric(user.getText().toString()) || !test) {
  67. AlertDialog.Builder builder = new Builder(FetionSend.this);
  68. builder.setMessage("您飛信用戶名或者密碼輸入有誤,確認要添加飛信好友麼?");
  69. builder.setTitle("提示");
  70. builder.setPositiveButton("確認",
  71. new DialogInterface.OnClickListener() {
  72. @Override
  73. public void onClick(DialogInterface dialog,
  74. int arg1) {
  75. // TODO Auto-generated method stub
  76. dialog.dismiss();
  77. Intent intent = new Intent();
  78. intent.setClass(FetionSend.this,
  79. AddPerson.class);
  80. startActivity(intent);
  81. }
  82. });
  83. builder.setNegativeButton("取消",
  84. new DialogInterface.OnClickListener() {
  85. @Override
  86. public void onClick(DialogInterface dialog,
  87. int arg1) {
  88. // TODO Auto-generated method stub
  89. dialog.dismiss();
  90. }
  91. });
  92. builder.create().show();
  93. } else {
  94. Intent intent = new Intent();
  95. intent.setClass(FetionSend.this, AddPerson.class);
  96. startActivity(intent);
  97. }
  98. }
  99. });
  100. send.setOnClickListener(new OnClickListener() {
  101. @Override
  102. public void onClick(View arg0) {
  103. // TODO Auto-generated method stub
  104. SharedPreferences sharedPreferences_test = getSharedPreferences(
  105. "test", Context.MODE_PRIVATE);
  106. boolean test = sharedPreferences_test.getBoolean("test", false);
  107. if (user.getText().length() == 0 || pwd.getText().length() == 0
  108. || isNumeric(user.getText().toString()) || !test) {
  109. AlertDialog.Builder builder = new Builder(FetionSend.this);
  110. builder.setMessage("您飛信用戶名或者密碼輸入有誤,確認要發送飛信麼?");
  111. builder.setTitle("提示");
  112. builder.setPositiveButton("確認",
  113. new DialogInterface.OnClickListener() {
  114. @Override
  115. public void onClick(DialogInterface dialog,
  116. int arg1) {
  117. // TODO Auto-generated method stub
  118. dialog.dismiss();
  119. Intent intent = new Intent();
  120. intent.setClass(FetionSend.this,
  121. SendPerson.class);
  122. startActivity(intent);
  123. }
  124. });
  125. builder.setNegativeButton("取消",
  126. new DialogInterface.OnClickListener() {
  127. @Override
  128. public void onClick(DialogInterface dialog,
  129. int arg1) {
  130. // TODO Auto-generated method stub
  131. dialog.dismiss();
  132. }
  133. });
  134. builder.create().show();
  135. } else {
  136. Intent intent = new Intent();
  137. intent.setClass(FetionSend.this, SendPerson.class);
  138. startActivity(intent);
  139. }
  140. }
  141. });
  142. quit.setOnClickListener(new OnClickListener() {
  143. @Override
  144. public void onClick(View arg0) {
  145. // TODO Auto-generated method stub
  146. AlertDialog.Builder builder = new Builder(FetionSend.this);
  147. builder.setMessage("確認退出嗎?");
  148. builder.setTitle("提示");
  149. builder.setPositiveButton("確認",
  150. new DialogInterface.OnClickListener() {
  151. @Override
  152. public void onClick(DialogInterface dialog, int arg1) {
  153. // TODO Auto-generated method stub
  154. dialog.dismiss();
  155. FetionSend.this.finish();
  156. System.exit(0);
  157. }
  158. });
  159. builder.setNegativeButton("取消",
  160. new DialogInterface.OnClickListener() {
  161. @Override
  162. public void onClick(DialogInterface dialog, int arg1) {
  163. // TODO Auto-generated method stub
  164. dialog.dismiss();
  165. }
  166. });
  167. builder.create().show();
  168. }
  169. });
  170. }
  171. // @Override
  172. // protected void onStop() {
  173. // // TODO Auto-generated method stub
  174. // super.onStop();
  175. // SharedPreferences
  176. // sharedPreferences_save=getSharedPreferences("Fetion_Send",Context.MODE_PRIVATE);
  177. // Editor editor=sharedPreferences_save.edit();
  178. // editor.putString("username",user.getText().toString());
  179. // editor.putString("password",pwd.getText().toString());
  180. // }
  181. private final Handler handler = new Handler() {
  182. public void handleMessage(Message msg) {
  183. super.handleMessage(msg);
  184. switch (msg.what) {
  185. case test_fail:
  186. // 添加失敗
  187. progressDialog.dismiss();
  188. Toast.makeText(FetionSend.this, "存儲飛信號和密碼失敗,飛信號或密碼錯誤,請重試!",
  189. Toast.LENGTH_LONG).show();
  190. break;
  191. case test_true:
  192. // 添加失敗
  193. progressDialog.dismiss();
  194. Toast.makeText(FetionSend.this, "存儲飛信號和密碼成功", Toast.LENGTH_LONG)
  195. .show();
  196. break;
  197. }
  198. };
  199. };
  200. public static boolean isNumeric(String str) {
  201. Pattern pattern = Pattern.compile("[0-9]*");
  202. return !pattern.matcher(str).matches();
  203. }
  204. public void TestLogin() {
  205. progressDialog = ProgressDialog.show(FetionSend.this, "聯網中...",
  206. "請稍等,正在驗證飛信號和密碼...");
  207. SharedPreferences sharedPreferences_save = getSharedPreferences(
  208. "Fetion_Send", Context.MODE_PRIVATE);
  209. Editor editor_save = sharedPreferences_save.edit();
  210. editor_save.putString("username", user.getText().toString());
  211. editor_save.putString("password", pwd.getText().toString());
  212. editor_save.commit();
  213. username = sharedPreferences_save.getString("username", "");
  214. password = sharedPreferences_save.getString("password", "");
  215. Runnable r = new Runnable() {
  216. @Override
  217. public void run() {
  218. // TODO Auto-generated method stub
  219. try {
  220. String resultData = "";
  221. String httpurl = "http://lab.3haku.net/f/do?phone="
  222. + username + "&pwd=" + password + "&add="
  223. + username;
  224. URL url = new URL(httpurl);
  225. // 使用HttpURLConnection打開連接
  226. HttpURLConnection urlConn = (HttpURLConnection) url
  227. .openConnection();
  228. // 得到讀取的內容(流)
  229. InputStreamReader in = new InputStreamReader(
  230. urlConn.getInputStream());
  231. // 為輸出創建BufferedReader
  232. BufferedReader buffer = new BufferedReader(in);
  233. String inputLine = null;
  234. // 使用循環來讀取獲得的數據
  235. while (((inputLine = buffer.readLine()) != null)) {
  236. // 我們在每一行後面加上一個"\n"來換行
  237. resultData += inputLine + "\n";
  238. }
  239. // 關閉InputStreamReader
  240. in.close();
  241. // 關閉http連接
  242. urlConn.disconnect();
  243. System.out.println(resultData.substring(86, 93));
  244. System.out.println(resultData);
  245. if (resultData.substring(86, 93).equals("success")) {
  246. SharedPreferences sharedPreferences_test = getSharedPreferences(
  247. "test", Context.MODE_PRIVATE);
  248. Editor editor = sharedPreferences_test.edit();
  249. editor.putBoolean("test", true);
  250. editor.commit();
  251. Message msg = handler.obtainMessage();
  252. msg.what = test_true;
  253. handler.sendMessage(msg);
  254. SharedPreferences sharedPreferences_save = getSharedPreferences(
  255. "Fetion_Send", Context.MODE_PRIVATE);
  256. Editor editor_save = sharedPreferences_save.edit();
  257. editor_save.putString("username", user.getText()
  258. .toString());
  259. editor_save.putString("password", pwd.getText()
  260. .toString());
  261. editor_save.commit();
  262. } else {
  263. // SharedPreferences
  264. // sharedPreferences_test=getSharedPreferences("test",Context.MODE_PRIVATE);
  265. // Editor editor=sharedPreferences_test.edit();
  266. // editor.putBoolean("test", false);
  267. // editor.commit();
  268. Message msg = handler.obtainMessage();
  269. msg.what = test_fail;
  270. handler.sendMessage(msg);
  271. }
  272. } catch (Exception e) {
  273. // TODO: handle exception
  274. e.printStackTrace();
  275. }
  276. }
  277. };
  278. Thread testThread = new Thread(r);
  279. testThread.start();
  280. }
  281. }
這個界面展示了基本所有功能,驗證你的飛信號碼和密碼是否正確,是否要添加飛信好友,是否要進行飛信群發。
Copyright © Linux教程網 All Rights Reserved