网络连接部分
来源:互联网 发布:网络彩票赌博的危害 编辑:程序博客网 时间:2024/06/05 11:07
项目部分总结:
Application
写一个AppApplication继承Application
package com.redcircle.redcircle;import android.app.Application;import android.content.Context;/** * Created by Administrator on 2015/10/10. */public class AppApplication extends Application { private static AppApplication mApplication; @Override public void onCreate() { super.onCreate(); //程序初始化 mApplication = this; DbManager.newInstance().getDb(); } public static AppApplication getApplication(){ return mApplication; }}
BaseActivity
写一个BaseActivity继承AppCompatActivity,实现他的方法,然后所有的Activity都继承BaseActivity。
package com.redcircle.redcircle;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;/** * Created by Administrator on 2015/10/10. */public class BaseActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onPostResume() { super.onPostResume(); } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); }}
BaseFragment
写一个BaseFragment 继承Fragment,实现他的方法。
package com.redcircle.redcircle;import android.app.Fragment;import android.os.Bundle;/** * Created by Administrator on 2015/10/10. */public class BaseFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onResume() { super.onResume(); } @Override public void onPause() { super.onPause(); } @Override public void onStop() { super.onStop(); } @Override public void onDestroy() { super.onDestroy(); }}
网络连接部分
网络连接部分写一个包Http,所有关于网络连接的类都放在这个包里,
网络连接的类MyHttp
package com.redcircle.redcircle.Http;import android.app.DownloadManager;import android.content.Context;import com.android.volley.AuthFailureError;import com.android.volley.Request;import com.android.volley.RequestQueue;import com.android.volley.Response;import com.android.volley.VolleyError;import com.android.volley.toolbox.StringRequest;import com.android.volley.toolbox.Volley;import com.redcircle.redcircle.AppApplication;import com.redcircle.redcircle.utils.NetWorkUtils;import java.util.HashMap;import java.util.Map;/** * Created by Administrator on 2015/10/10. * 所有的网络连接全部使用此类,此类的作用是统一网络连接的接口 */public class MyHttp { //单例设计模式 private MyHttp(){} private static MyHttp mMyHttp; public synchronized static MyHttp newInstance(){ if (mMyHttp == null){ mMyHttp = new MyHttp(); } return mMyHttp; } //此处是观察者模式,监听网络连接 public interface OnHTTPConnectionListener{ //无网络可用 public void NullInternet(); //网络连接失败 public void FailConnection(int errocode); //成功 public void SuccessConnection(String response); } public void addRequest(String url, HashMap<String, String> params,final OnHTTPConnectionListener onHTTPListener){ //无网络连接时调用 if (!NetWorkUtils.isConnection()){ onHTTPListener.NullInternet(); return; } RequestQueue queue = Volley.newRequestQueue(AppApplication.getApplication()); StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { onHTTPListener.SuccessConnection(response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { onHTTPListener.NullInternet(); } }){ @Override protected Map<String, String> getParams() throws AuthFailureError { HashMap hashMap=params; return hashMap; } }; queue.add(stringRequest);// MyHttp.newInstance(new AppApplication().getmContext()). }}
专门存放特定字符串的类NetWorkConfig,比如URL
package com.redcircle.redcircle.Http;/** * Created by Administrator on 2015/10/10. */public class NetWorkConfig { public static final String URL = "http://www.baidu.com";}
区分各部分网络连接的方法,比如登录、注册
package com.redcircle.redcircle.Http;import java.util.HashMap;/** * Created by Administrator on 2015/10/10. */public class MyAllHttpMethod { //需要加单例 public static void login(){ } public static void regester(){ }}
还要判断是否有网络可用,如果没有,提示打开WiFi或数据
package com.redcircle.redcircle.utils;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.telephony.TelephonyManager;import com.redcircle.redcircle.AppApplication;/** * Created by Administrator on 2015/10/10. */public class NetWorkUtils { public static boolean isConnection(){ ConnectivityManager mConnectivity = (ConnectivityManager)AppApplication.getApplication().getSystemService(Context.CONNECTIVITY_SERVICE); // 检查网络连接,如果无网络可用,就不需要进行连网操作等 NetworkInfo info = mConnectivity.getActiveNetworkInfo(); if (info == null || !mConnectivity.getBackgroundDataSetting()) { return false; } return true; }}
0 0
- 网络连接部分
- cocos2dx-网络连接客户端部分学习
- cocos2dx网络连接部分深入学习
- ios10 部分app无法连接到网络
- 《网络是怎样连接的》部分总结
- ios 10 部分App无法连接网络或网络错误
- 网络部分
- 网络部分
- 网络部分整理第一部分
- 网络部分整理第二部分
- SS7 信令连接控制部分(SCCP)--网络大典
- jsp连接oracle数据库并实现简单登录功能,来自网络,部分修改。(亚信联创实习)
- 【每日收获6】网络连接错误和java的部分缺陷
- 关于使用部分VPN后win10有网络连接却无法打开网页的问题解决
- 网络连接
- 连接网络
- 网络连接
- 网络连接
- sublime 3 安装
- 按下计算机电源键的一刻发生了什么(2)?
- 利用SVN的post-commit钩子实现多项目自动同步
- 留言板
- 随机序列产生算法
- 网络连接部分
- iOS 9 适用,使用Button实现简单的视图跳转与返回上一级。(初级)
- Struts2配置详解_配置Action
- Lowest Common Multiple Plus
- rd如何撰写总体设计文档和详细设计文档
- iOS应用安全之代码混淆设计篇
- 面试,一点小心得
- some commands for mount equipment
- 一起学CC3200之OTA方案 设计and 探讨