网络连接

1.需要加权限,主线程不允许连接网络 Handler,AsyncTask
2.粗粒信息:有无网络 细粒信息:2G,3G,4G,WIFI
3.ConnectivityManager
这里写图片描述
4.WebView控件 代码中.setWebViewClient(){} .setJavaScriptEnabled(true) .loadUrl(“”);(网页需要返回时复写onKyeDown .canGoBack(); .goback();) 放大缩小Zoom
setWebViewClient(new WebViewClient){
onReceivedError加载错误后实现的方法,start…,finish…开始和结束时实现的方法,比如加载进度条} .setWebChromeClient可设置ProgressBar

5.HttpConnection HttpClient(需导包 搜org.apache.http),doGet doPost方法。单线程和多线程下载

6.Volley
这里写图片描述
Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。
其中蓝色部分代表主线程,绿色部分代表缓存线程,橙色部分代表网络线程。我们在主线程中调用RequestQueue的add()方法来添加一条网络请求,这条请求会先被加入到缓存队列当中,如果发现可以找到相应的缓存结果就直接读取缓存并解析,然后回调给主线程。如果在缓存中没有找到结果,则将这条请求加入到网络请求队列中,然后处理发送HTTP请求,解析响应结果,写入缓存,并回调主线程。
在网络请求队列中,若有空线程则进行请求,若没有空线程则在队列中等待。线程池RequestQueue使用单例设计模式。
DoGet

StringRequest request=new StringRequest(Request.Method.GET, "http://lzjtu.edu.cn", new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                mTextView.setText(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                mTextView.setText("网络连接错误");
            }
        });
        MySingleton.getInstance(this).getRequestQueue().add(request);

DoPost

StringRequest request=new StringRequest(Request.Method.POST, "http://192.168.0.104:8080/Java_Web/MyAndroidHttpDemo", new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                mTextView.setText(response);
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                mTextView.setText("网络连接错误");
            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                HashMap hashMap=new HashMap();
                hashMap.put("username","zhangsan");
                return hashMap;
            }
        };
        MySingleton.getInstance(this).getRequestQueue().add(request);

NetWorkImageView加载网络图片(了解)一般使用ImageLoader
这里写图片描述

这里写图片描述

mNetworkImageView.setImageUrl("http://www.th7.cn/d/file/p/2014/09/17/79597e61ed42edcc1677095d45f4794c.png",MySingleton.getInstance(this).getImageLoader());

7.xUtils(View DB Bitmap Http)
HttpUtils
DoGet

HttpUtils client = new HttpUtils();
        client.send(HttpRequest.HttpMethod.GET, "http://lzjtu.edu.cn", new RequestCallBack<String>() {
            @Override
            public void onSuccess(ResponseInfo<String> responseInfo) {
                mTextView_xutils.setText(responseInfo.result);
            }

            @Override
            public void onFailure(HttpException e, String s) {
                mTextView_xutils.setText("加载失败");
            }
        });

DoPost

RequestParams params = new RequestParams();
        params.addBodyParameter("username", "zhangsan");
        HttpUtils client = new HttpUtils();
        client.send(HttpRequest.HttpMethod.POST, "http://192.168.0.104:8080/Java_Web/MyAndroidHttpDemo", params, new RequestCallBack<String>() {
            @Override
            public void onSuccess(ResponseInfo<String> responseInfo) {
                mTextView_xutils.setText(responseInfo.result);
            }

            @Override
            public void onFailure(HttpException e, String s) {
                mTextView_xutils.setText("网络连接失败");
            }
        });

ViewUtils 注解

 @ViewInject(R.id.textview_xutils)
    private TextView mTextView_xutils;
    @ViewInject(R.id.button_xutils_doget)
    private Button mButton_xutils_DoGet;
    @ViewInject(R.id.button_xutils_dopost)
    private Button mButton_xutils_DoPost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xutils);
        ViewUtils.inject(this);
    }

    @OnClick({R.id.button_xutils_doget, R.id.button_xutils_dopost})
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        ..........

DbUtils

@Table(name="user")
public class User {
    @Column(column="id")
    private String id;
    private String name;
    private String password;
DbUtils dbUtils=DbUtils.create(this,"MY_FIRST_DB.db");
        StringBuffer buffer=new StringBuffer();
        try {
            List<User> users=dbUtils.findAll(Selector.from(User.class));
            for(User user:users){
                buffer.append("Name:"+user.getName()+" Password:"+user.getPassword());
            }
            mTextViewResult.setText(buffer);
        } catch (DbException e) {
            e.printStackTrace();
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值