end1

package com.example.extab_text;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import com.example.helper.MyHelper;
import com.example.vo.Info;
import com.example.vo.ShowInfo;
import com.example.vo.SuperJsonPerse;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;

import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {
    private List<Info> list;
    public static final String URL = "http://www.hengboit.com/json/json_search.php?wd";

Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {
            // 获得一级列表条目的集合
            final List<String> list_ctitle = (List<String>) msg.obj;
            // 创建二维集合

final List<ArrayList<ShowInfo>> chile_list = new ArrayList<ArrayList<ShowInfo>>();

for (int i = 0; i < list_ctitle.size(); i++) {
                // 创建二维集合里的子集合
                ArrayList<ShowInfo> al = new ArrayList<ShowInfo>();
                database.execSQL("insert into user values(null,?)",
                        new String[] { list_ctitle.get(i) });
                for (Info n : list) {
                    if (n.getCtitle().equals(list_ctitle.get(i))) {

// 创建实体类对象
                        ShowInfo si = new ShowInfo();

si.setCtime(n.getCtime());
                        si.setTitle(n.getTitle());
                        si.setDescript(n.getDescript());
                        si.setPicurl(n.getPicurl());

database.execSQL(
                                "insert into user1 values(null,?,?,?,?,?)",
                                new String[] { n.getCtitle(), n.getTitle(),
                                        n.getPicurl(), n.getDescript(),
                                        n.getCtime() });

al.add(si);
                    }
                    chile_list.add(al);
                }

for (int j = 0; j < list_ctitle.size(); j++) {

}

elv.setAdapter(new BaseExpandableListAdapter() {

public boolean isChildSelectable(int groupPosition,
                            int childPosition) {
                        // TODO Auto-generated method stub
                        return true;
                    }

public boolean hasStableIds() {
                        // TODO Auto-generated method stub
                        return false;
                    }

public View getGroupView(int groupPosition,
                            boolean isExpanded, View convertView,
                            ViewGroup parent) {
                        // TODO Auto-generated method stub
                        View view = View.inflate(MainActivity.this,
                                android.R.layout.simple_list_item_1, null);
                        TextView textView = (TextView) view
                                .findViewById(android.R.id.text1);
                        textView.setText(list_ctitle.get(groupPosition));
                        return view;
                    }

public long getGroupId(int groupPosition) {
                        // TODO Auto-generated method stub
                        return 0;
                    }

public int getGroupCount() {
                        // TODO Auto-generated method stub
                        return list_ctitle.size();
                    }

public Object getGroup(int groupPosition) {
                        // TODO Auto-generated method stub
                        return 0;
                    }

public int getChildrenCount(int groupPosition) {
                        // TODO Auto-generated method stub
                        // ////
                        return chile_list.get(groupPosition).size();
                    }

public View getChildView(int groupPosition,
                            int childPosition, boolean isLastChild,
                            View convertView, ViewGroup parent) {
                        // TODO Auto-generated method stub
                        // 给二级列表显示添加子布局
                        View view = View.inflate(MainActivity.this,
                                R.layout.item, null);

ImageView imageView = (ImageView) view
                                .findViewById(R.id.image);
                        TextView textView1 = (TextView) view
                                .findViewById(R.id.textView1);
                        TextView textView2 = (TextView) view
                                .findViewById(R.id.textView2);
                        TextView textView3 = (TextView) view
                                .findViewById(R.id.textView3);
                        // 获得当前显示的对象
                        ShowInfo infos = chile_list.get(groupPosition).get(
                                childPosition);
                        // 设置显示内容
                        textView1.setText(infos.getTitle());
                        textView2.setText(infos.getDescript());
                        textView3.setText(infos.getCtime());
                        // 使用Imageloader加载图片
                        ImageLoader.getInstance().displayImage(
                                infos.getPicurl(), imageView);
                        return view;
                    }

public long getChildId(int groupPosition, int childPosition) {
                        // TODO Auto-generated method stub
                        return childPosition;
                    }

public Object getChild(int groupPosition, int childPosition) {
                        // TODO Auto-generated method stub
                        return childPosition;
                    }
                });
            }

elv.setOnChildClickListener(new OnChildClickListener() {

public boolean onChildClick(ExpandableListView parent, View v,
                        int groupPosition, int childPosition, long id) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(MainActivity.this,
                            DetailsActivity.class);
                    ShowInfo showinfo = chile_list.get(groupPosition).get(
                            childPosition);

intent.putExtra("title", showinfo.getTitle());
                    intent.putExtra("picurl", showinfo.getPicurl());
                    intent.putExtra("desc", showinfo.getDescript());
                    startActivity(intent);
                    return false;
                }
            });

}

};

private ExpandableListView elv;
    private SQLiteDatabase database;

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

private List<Info> perseJson(String str) {
        // TODO Auto-generated method stub
        Gson g = new Gson();
        SuperJsonPerse sjp = g.fromJson(str, SuperJsonPerse.class);
        ArrayList<Info> list_ss = sjp.getInfo();
        return list_ss;
    };

private void init() {
        // TODO Auto-generated method stub
        EditText editText = (EditText) findViewById(R.id.ed_name);
        Button button = (Button) findViewById(R.id.b1);
        MyHelper helper = new MyHelper(MainActivity.this, "ccccccccccc", null,
                1);
        database = helper.getWritableDatabase();
        elv = (ExpandableListView) findViewById(R.id.elv);

new Thread() {

public void run() {

String data = getJsonFromServer();
                list = perseJson(data);
                // 创建集合,过滤
                Set<String> set_ctitle = new HashSet<String>();

// 遍历集合,为hashset赋值
                for (Info n : list) {
                    set_ctitle.add(n.getCtitle());
                }
                // 把set集合转化为Arraylist集合
                List<String> list_ctitle = new ArrayList<String>(set_ctitle);

handler.sendMessage(handler.obtainMessage(1, list_ctitle));
            };
        }.start();

}

private String getJsonFromServer() {

StringBuffer sb = new StringBuffer();
        try {
            URL url = new URL(URL);
            HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
            urlcon.setConnectTimeout(5000);
            urlcon.setReadTimeout(5000);
            if (urlcon.getResponseCode() == 200) {

BufferedReader br = new BufferedReader(new InputStreamReader(
                        urlcon.getInputStream(), "utf-8"));
                String str = "";
                while ((str = br.readLine()) != null) {
                    sb.append(str);

}
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return sb.toString();
    };

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}

时间: 2024-07-29 07:13:25

end1的相关文章

时间进行3段区分 执行倒计时 end1 end2 开始执行回调

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script src="jquery.js"></script> <script> // 倒计时插件 (function() {

javascript-jquery-更改jquery对象

在许多情况下,jquery代码所做的事情变成了:生成jquery对象A,操作对jquery象A:更改为jquery对象B,操作jquery对象B:更改为jqueryC,操作jquery对象C......: jquery的链式操作: 链式操作概述:生成一个jquery对象后,既要对它进行一次或多次的普通操作,同时还要对它进行更改操作.于是有必要把生成jquery对象储存在一个变量中,满足多次调用的需要. 例如: $(function(){ $("div").click(function(

字符串缓冲区

StringBuffer字符串缓冲区 构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符. 特点: 1:可以对字符串内容进行修改. 2:是一个容器. 3:是可变长度的. 4:缓冲区中可以存储任意类型的数据. 5:最终需要变成字符串. 容器通常具备一些固定的方法: 1,添加. StringBuffer append(data):在缓冲区中追加数据.追加到尾部. StringBuffer insert(index,data):在指定位置插入数据. 2,删除. StringBuffer de

ArrayList&amp;LinkedList&amp;Map&amp;Arrays

Java集合框架 1:集合接口 1.1:Collection接口 Collection接口是构造集合框架的基础.它声明所有类集合都将拥有的核心方法 Boolean add(Object obj) 将obj加入到调用类集合中,加入返回true 否则 返回 false Boolean addAll(Collection c) 将c中所有元素都加入到类集合中,都加入返回true否则 false Void clean() 从调用类集合中删除所有元素 Boolean contains(Object obj

专题:分治法

分治法(Divide and Conquer) 作为五大算法之一的分治法,可算是最早接触的一种算法.分治法,与其说是一种算法,不如将其称为策略来的更贴切一些.算法的思想就是将大问题分成小问题,并解决小问题之后合并起来生成大问题的解. 分治法的精髓: 分--将问题分解为规模更小的子问题: 治--将这些规模更小的子问题逐个击破: 合--将已解决的子问题合并,最终得出“母”问题的解: 分治法的作用,自然是让程序更加快速地处理问题.比如一个n的问题分解成两个n/2的问题,并由两个人来完成,效率就会快一些

LeetCode题解 #8 String to Integer (atoi)

又是一道恶心的简单题. 一开始没想到这么多情况的,幸好LeetCode是个很人性化的oj,能让你知道你在哪个case上错了,否则一辈子都过不了. 考虑不周到只能一个个补了. 列举一下恶心的case //" 010" //" +004500" //" -0012a42" //"2147483648" //" b11228552307" //"18446744073709551617" //

LeetCode 16 3Sum Closest(C,C++,Java,Python)

Problem: Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly one solution. For example, given array S

iOS小米遥控器的手势监听及UI实现

这篇文章通过实例实现了一个类似小米手势遥控器的功能页面. 效果图如下所示: 触摸事件的响应通过对系统的触摸实践监听来进行. 通过一个数组来对点的集合进行缓存和分析. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if (!self.allowsInteraction) return; UITouch *touch = [touches anyObject]; CGPoint start = [touch lo

《Python数据分析常用手册》一、NumPy和Pandas篇

一.常用链接: 1.Python官网:https://www.python.org/ 2.各种库的whl离线安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn 3.数据分析常用库的离线安装包(pip+wheels)(百度云):http://pan.baidu.com/s/1dEMXbfN 密码:bbs2 二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和