实打实大师

来源:互联网 发布:nginx install macos 编辑:程序博客网 时间:2024/04/28 19:45
package com.example.qinqinbaobei.myzhukao;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.os.Bundle;

import com.example.qinqinbaobei.adapter.Myadapter;
import com.example.qinqinbaobei.fragment.Fragement01;
import com.example.qinqinbaobei.fragment.Fragement02;
import com.example.qinqinbaobei.fragment.Fragement03;
import com.example.qinqinbaobei.fragment.Fragement04;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends FragmentActivity {

    private ViewPager viewpage;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewpage = (ViewPager) findViewById(R.id.viewpager01);
        List<Fragment> list = new ArrayList<>();
        list.add(new Fragement01());
        list.add(new Fragement02());
        list.add(new Fragement03());
        list.add(new Fragement04());
        //设置适配器
        Myadapter myadapter = new Myadapter(getSupportFragmentManager(), list);
        viewpage.setAdapter(myadapter);
    }
}

package com.example.qinqinbaobei.myzhukao;

import android.app.Activity;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.qinqinbaobei.adapter.MyBaseAdapter;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

import bean.User;
import bean.javaBeanOne;
import dao.DaoHelper;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Second extends Activity {

    private ListView listview;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_main);
        //获取控件
        listview = findViewById(R.id.listview01);

        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {



            @Override
            protected String doInBackground(Void... voids) {
                String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
                //获取一个路径
                try {
                    URL url = new URL(path);
                    HttpURLConnection conenction = (HttpURLConnection) url.openConnection();
                    //设置提交方式
                    conenction.setRequestMethod("GET");
                    //设置延时
                    conenction.setReadTimeout(5 * 1000);
                    conenction.setConnectTimeout(5 * 1000);

                    //s获取响应码
                    int responseCode = conenction.getResponseCode();

                    //判断是否有数据
                    if (responseCode == 200) {
                        //拿到通过流传回来的数据
                        InputStream inputStream = conenction.getInputStream();
                        //转换成字符
                        String s = StreamToString(inputStream, "utf-8");
                        Log.i("你好", s);
                        return s;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                javaBeanOne javaBeanOne = gson.fromJson(s, javaBeanOne.class);
                final List<javaBeanOne.DataBean>  data = javaBeanOne.getData();
                final MyBaseAdapter   myBaseAdapter = new MyBaseAdapter(Second.this, data);
                DaoHelper daoHelper = new DaoHelper(Second.this);
                //添加数据库
/*
                for(int i=0;i<data.size();i++){
                    daoHelper.insert(data.get(i).getNews_title(),data.get(i).getPic_url());
                }*/
                listview.setAdapter(myBaseAdapter);

                listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                        data.remove(i);
                        myBaseAdapter.notifyDataSetChanged();
                    }
                });
                //查询数据库
                List<User> select = daoHelper.select();

            }
        };
        asyncTask.execute();



    }
---------------------------------------------

    public String StreamToString(InputStream input, String charset) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(input, charset);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            StringBuilder builder = new StringBuilder();
            String string;
            while ((string = bufferedReader.readLine()) != null) {
                builder.append(string);
            }
          Log.i("-----",builder.toString());
            return builder.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }


        return null;
    }


}

---------------------------------适配器

package com.example.qinqinbaobei.adapter;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.List;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Myadapter extends FragmentPagerAdapter{
     private List<Fragment> list;

    public Myadapter(FragmentManager supportFragmentManager, List<Fragment> list) {
        super(supportFragmentManager);
        this.list = list;
    }


    @Override
    public Fragment getItem(int position) {
        return list.get(position);
    }

    @Override
    public int getCount() {
        return list.size();
    }
}
------------------------------------适配器
package com.example.qinqinbaobei.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.qinqinbaobei.myzhukao.R;
import com.example.qinqinbaobei.myzhukao.Second;
import com.example.qinqinbaobei.utils.Imageutils;

import java.util.List;

import bean.javaBeanOne;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class MyBaseAdapter extends BaseAdapter{
    Context context;
    List<javaBeanOne.DataBean> data;
    private viewHolder holder;
    Imageutils imageutils = new Imageutils();

    public MyBaseAdapter(Context context, List<javaBeanOne.DataBean> data) {
       this.context  =context;
        this.data =data;
    }

    @Override
    public int getCount() {
        return data.size();
    }

    @Override
    public Object getItem(int i) {
        return data.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        if(view == null){
            view = View.inflate(context, R.layout.item_listview,null);
            holder = new viewHolder();
            holder.text01 = view.findViewById(R.id.textviewurl);
            holder.image01 = view.findViewById(R.id.imageurl);
            view.setTag(holder);
        }else{
            holder = (viewHolder) view.getTag();
        }
        //设置数据
        holder.text01.setText(data.get(i).getNews_title());
        new Imageutils().ImagePath(data.get(i).getPic_url(),holder.image01);
        return view;
    }
    class viewHolder{
        TextView text01;
        ImageView image01;
    }
}
----------------------------------------------二次跳转
package com.example.qinqinbaobei.fragment;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

import com.example.qinqinbaobei.myzhukao.R;
import com.example.qinqinbaobei.myzhukao.Second;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Fragement04 extends Fragment{

    private ImageView imageView;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment04,container,false);

        imageView = view.findViewById(R.id.imageview01);

              return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
       // new
        //AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f, 0.2f);
        TranslateAnimation translateAnimation = new TranslateAnimation(0, 200, 0, 0);
        translateAnimation.setDuration(3000);

        translateAnimation.setFillAfter(true);

        imageView.startAnimation(translateAnimation);

        translateAnimation.setAnimationListener(new Animation.AnimationListener() {
            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {

                //存数据
                getActivity().getSharedPreferences("config", Context.MODE_PRIVATE).edit().putBoolean("flag",true).commit();


                    Intent intent = new Intent(getActivity(), Second.class);
                    startActivity(intent);
                   getActivity().finish();

            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }
        });

    }
}
----------------------------------------------------------跳转
package com.example.qinqinbaobei.fragment;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.qinqinbaobei.myzhukao.R;
import com.example.qinqinbaobei.myzhukao.Second;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Fragement01 extends Fragment{
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment01,container,false);
              return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //取数据
        boolean lean = getActivity().getSharedPreferences("config", Context.MODE_PRIVATE).getBoolean("flag", false);
        if(lean){
            Intent intent = new Intent(getActivity(), Second.class);
            startActivity(intent);
            getActivity().finish();
        }
    }
}
---------------------------------------第二页
package com.example.qinqinbaobei.myzhukao;

import android.app.Activity;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.qinqinbaobei.adapter.MyBaseAdapter;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;

import bean.User;
import bean.javaBeanOne;
import dao.DaoHelper;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Second extends Activity {

    private ListView listview;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_main);
        //获取控件
        listview = findViewById(R.id.listview01);

        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {



            @Override
            protected String doInBackground(Void... voids) {
                String path = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
                //获取一个路径
                try {
                    URL url = new URL(path);
                    HttpURLConnection conenction = (HttpURLConnection) url.openConnection();
                    //设置提交方式
                    conenction.setRequestMethod("GET");
                    //设置延时
                    conenction.setReadTimeout(5 * 1000);
                    conenction.setConnectTimeout(5 * 1000);

                    //s获取响应码
                    int responseCode = conenction.getResponseCode();

                    //判断是否有数据
                    if (responseCode == 200) {
                        //拿到通过流传回来的数据
                        InputStream inputStream = conenction.getInputStream();
                        //转换成字符
                        String s = StreamToString(inputStream, "utf-8");
                        Log.i("你好", s);
                        return s;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }

                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                javaBeanOne javaBeanOne = gson.fromJson(s, javaBeanOne.class);
                final List<javaBeanOne.DataBean>  data = javaBeanOne.getData();
                final MyBaseAdapter   myBaseAdapter = new MyBaseAdapter(Second.this, data);
                DaoHelper daoHelper = new DaoHelper(Second.this);
                //添加数据库
/*
                for(int i=0;i<data.size();i++){
                    daoHelper.insert(data.get(i).getNews_title(),data.get(i).getPic_url());
                }*/
                listview.setAdapter(myBaseAdapter);

                listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                        data.remove(i);
                        myBaseAdapter.notifyDataSetChanged();
                    }
                });
                //查询数据库
                List<User> select = daoHelper.select();

            }
        };
        asyncTask.execute();



    }


    public String StreamToString(InputStream input, String charset) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(input, charset);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            StringBuilder builder = new StringBuilder();
            String string;
            while ((string = bufferedReader.readLine()) != null) {
                builder.append(string);
            }
          Log.i("-----",builder.toString());
            return builder.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }


        return null;
    }


}
----------------------------------------获取图片的
package com.example.qinqinbaobei.utils;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Imageutils {
   // ImageView imageview;

    public void ImagePath(final String path, final ImageView imageview){

        AsyncTask<Void, Void, Bitmap> asyncTask = new AsyncTask<Void, Void, Bitmap>() {


            @Override
            protected Bitmap doInBackground(Void... voids) {
                //获取一个路径
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    //设置提交方式
                    connection.setRequestMethod("GET");
                    //设置延时
                    connection.setReadTimeout(5 * 1000);
                    connection.setConnectTimeout(5 * 1000);

                    //s获取响应码
                    int responseCode = connection.getResponseCode();

                    //判断是否有数据
                    if (responseCode == 200) {
                        //拿到通过流传回来的数据
                        InputStream inputStream = connection.getInputStream();
                        Bitmap bit = BitmapFactory.decodeStream(inputStream);

                        return bit;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Bitmap bitmap) {
                super.onPostExecute(bitmap);
                imageview.setImageBitmap(bitmap);
            }
        };
        asyncTask.execute();

    }
}
---------------------------------------------数据库
package myhelper;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class Myhelper extends SQLiteOpenHelper{
    public Myhelper(Context context) {
        super(context, "shilei.db", null, 1);

    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
            sqLiteDatabase.execSQL("create table shi(title varchar(20),url_image varchar(20))");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }


}
----------------------------------------------------dao类

package dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.example.qinqinbaobei.myzhukao.Second;

import java.util.ArrayList;
import java.util.List;

import bean.User;
import myhelper.Myhelper;

/**
 * Created by QinQinBaoBei on 2017/9/2.
 */
public class DaoHelper {

    private final Myhelper myhelper;

    public DaoHelper(Context context) {
        myhelper = new Myhelper(context);
    }

    public void insert(String title,String image){
        SQLiteDatabase database = myhelper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("title",title);
        values.put("url_image",image);
        database.insert("shi",null,values);
    }
    public List<User> select(){
        List<User> list= new ArrayList<>();
        SQLiteDatabase database = myhelper.getWritableDatabase();
        Cursor cursor = database.query("shi", null, null, null, null, null, null, null);
        while(cursor.moveToNext()){
            String title = cursor.getString(cursor.getColumnIndex("title"));
            String url_image = cursor.getString(cursor.getColumnIndex("url_image"));
            User user = new User(title, url_image);
          list.add(user);
        }
        return list;
    }
}


原创粉丝点击