关闭

y

121人阅读 评论(0) 收藏 举报
public class MainActivity extends Activity {
    public LocationClient mLocationClient = null;
    public BDLocationListener myListener = new MyLocationListener();
    private TextView tv_city_name;
    private ListView lv_city;
    private ArrayList<String> list_column;
    private String[] colunms = new String[] { "北京", "上海", "广州", "深圳", "成都",
            "杭州", "天津", "郑州", "苏州", "浙江", "石家庄" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 在使用SDK各组件之前初始化context信息,传入ApplicationContext
        // 注意该方法要再setContentView方法之前实现
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);

        // 找控件
        init();

        mLocationClient = new LocationClient(getApplicationContext()); // 声明LocationClient类
        mLocationClient.registerLocationListener(myListener); // 注册监听函数
        // 设置参数
        initLocation();
        // 开始定位
        mLocationClient.start();

        // 为找到的控件设置数据
        setData();

        // 为lv设置适配器
        lv_city.setAdapter(new ArrayAdapter<String>(MainActivity.this,
                android.R.layout.simple_expandable_list_item_1, list_column));

        // 点击定位到的城市,跳转到房源列表
        tv_city_name.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                Intent intent = new Intent(MainActivity.this,
                        InfoActivity.class);
                startActivity(intent);
            }
        });

    }

    private void setData() {
        // TODO Auto-generated method stub

        // 创建列表
        list_column = new ArrayList<String>();
        for (int i = 0; i < colunms.length; i++) {
            list_column.add(colunms[i]);
        }

    }

    private void init() {
        // TODO Auto-generated method stub
        tv_city_name = (TextView) findViewById(R.id.tv_city_name);
        lv_city = (ListView) findViewById(R.id.lv_city);
    }

    private void initLocation() {
        LocationClientOption option = new LocationClientOption();
        option.setLocationMode(LocationMode.Hight_Accuracy);// 可选,默认高精度,设置定位模式,高精度,低功耗,仅设备
        option.setCoorType("bd09ll");// 可选,默认gcj02,设置返回的定位结果坐标系
        int span = 1000;
        option.setScanSpan(span);// 可选,默认0,即仅定位一次,设置发起定位请求的间隔需要大于等于1000ms才是有效的
        option.setIsNeedAddress(true);// 可选,设置是否需要地址信息,默认不需要
        option.setOpenGps(true);// 可选,默认false,设置是否使用gps
        option.setLocationNotify(true);// 可选,默认false,设置是否当gps有效时按照1S1次频率输出GPS结果
        option.setIsNeedLocationDescribe(true);// 可选,默认false,设置是否需要位置语义化结果,可以在BDLocation.getLocationDescribe里得到,结果类似于“在北京天安门附近”
        option.setIsNeedLocationPoiList(true);// 可选,默认false,设置是否需要POI结果,可以在BDLocation.getPoiList里得到
        option.setIgnoreKillProcess(false);// 可选,默认true,定位SDK内部是一个SERVICE,并放到了独立进程,设置是否在stop的时候杀死这个进程,默认不杀死
        option.SetIgnoreCacheException(false);// 可选,默认false,设置是否收集CRASH信息,默认收集
        option.setEnableSimulateGps(false);// 可选,默认false,设置是否需要过滤gps仿真结果,默认需要
        mLocationClient.setLocOption(option);
    }

    public class MyLocationListener implements BDLocationListener {

        @Override
        public void onReceiveLocation(BDLocation location) {

            // 获取定位的城市
            String city = location.getCity();

            tv_city_name.setText(city);

        }
    }

}






public class InfoActivity extends Activity {

    private PullToRefreshListView lv;
    private String URL = "http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&qtime=20160411091603&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0";
    private ArrayList<Myrows> dlist;

    Handler handler = new Handler() {
        public void handleMessage(android.os.Message msg) {

            List<Myrows> list = (List<Myrows>) msg.obj;
            // 为listview设置适配器
            lv.setAdapter(new MyAdapter(InfoActivity.this, list));
            // 停止刷新
            lv.onRefreshComplete();

        };
    };

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

        // 找控件
        init();

        // 创建集合对象
        dlist = new ArrayList<Myrows>();

        // 请求网络数据
        reqData(0);

        lv.setOnRefreshListener(new OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(
                    PullToRefreshBase<ListView> refreshView) {
                Log.e("TAG", "onPullDownToRefresh");
                // 这里写下拉刷新的任务

                // 重新请求数据
                reqData(0);
            }

            @Override
            public void onPullUpToRefresh(
                    PullToRefreshBase<ListView> refreshView) {
                Log.e("TAG", "onPullUpToRefresh");
                // 这里写上拉加载更多的任务
                reqData(1);
            }
        });

    }

    private void reqData(final int type) {
        // TODO Auto-generated method stub
        new Thread() {
            public void run() {

                // 请求网络数据
                String webData = MyUtils.getWebData(URL);

                // 进行解析数据
                Gson g = new Gson();
                SuperClass sc = g.fromJson(webData, SuperClass.class);
                List<Myrows> list_rows = sc.getResult().getRows();

                if (type == 0) {
                    dlist.addAll(0, list_rows);
                } else {
                    dlist.addAll(list_rows);
                }

                // 将数据发送给handler
                handler.sendMessage(handler.obtainMessage(1, dlist));

            };
        }.start();
    }

    private void init() {

        lv = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);

    }

}

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

@陈利人 : #面试题#给定两个数组X和Y,元素都是正数。请找出满足如下条件的数对的数目: x^y > y^x,即x的y次方>y的x次方;x来自X数组,y来自Y数组

数对数目分析 原题 给定两个数组X和Y,元素都是正数。请找出满足如下条件的数对的数目: x^y > y^x,即x的y次方>y的x次方 x来自X数组,y来自Y数组 分析 假设数组X的...
  • cqs_2012
  • cqs_2012
  • 2013-11-02 10:09
  • 1747

给定表达式[x/2] + y + x * y, 其中x,y都是正整数。

package com.boco.study; import java.math.BigDecimal; import java.util.Calendar; import com.sun.jav...
  • fudaxing
  • fudaxing
  • 2013-08-30 00:33
  • 1032

YUV420只绘制Y通道

前段时间整个一个yuv文件,格式为352x240,YUV420格式的,即YYYYUUVV,准备使用Qt进行重绘显示。不知道为什么转换为RGB显示出来乱乱的, 最近做只显示出Y通道的灰度图像,刚做成功...
  • shell_albert
  • shell_albert
  • 2015-04-29 15:57
  • 1081

Y​A​F​F​S​2​文​件​系​统

1         Yaffs文件系统结构   1.1        简介 1.1.1 &#...
  • xiaoaide01
  • xiaoaide01
  • 2014-07-15 15:00
  • 545

莫比乌斯反演1-x1-y,中的质数GCD(a,b)

题意:给定两个数和,其中,,求为质数的有多少对?其中和的范      围是。 #include #include #include using namespace std; typ...
  • Grit_ICPC
  • Grit_ICPC
  • 2015-09-16 20:36
  • 436

C++求连续数列之和为S的数组里面所有组合(根据公式S=(x+y)*n/2优美实现)

//博主mingliang37的思想,我后来想明白了,整理了一下. #include using namespace std; //输出所有和为S的连续整正数序列. //x.......y(这是一...
  • liuhuiyan_2014
  • liuhuiyan_2014
  • 2015-05-05 14:14
  • 1040

一步一步入门机器学习之一:Python(x,y)下载,安装,使用入门

Python语言由于语法简单容易入门在机器学习中北
  • baigoocn
  • baigoocn
  • 2014-05-14 17:03
  • 23315

搬瓦工+Finalspeed搭建高速个人SS,Y2B看4K视频无压力

搬瓦工+Finalspeed搭建高速个人SS,YouTube看4K视频无压力最近购买的ss快要到期了,原本的使用体验也很差,上YouTube看视频经常马赛克画质也要加载半天,而高速的ss服务又很贵。那...
  • qq_25729757
  • qq_25729757
  • 2017-05-10 10:51
  • 7422

DFS:C 小Y的难题(1)

解题心得: 1、在明确使用DFS之后一定要找到递归函数的出口、方向,以及递归的点(在某个情况下开始递归)(void 也可以return,但是没有返回值)。递归时也要有递归的方向,最后都能够达到递归的...
  • yopilipala
  • yopilipala
  • 2017-01-14 17:13
  • 542

【Y忍冬草】Qt之定时器

首先,Qt对象的基类QObject为我们提供了一个基本的定时器,它是通过定时器事件来触发的。其步骤如下: step1:通过函数int QObject::startTimer(int interval...
  • y363703390
  • y363703390
  • 2018-01-09 14:57
  • 9
    个人资料
    • 访问:886次
    • 积分:89
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档
    阅读排行