想做一个android 省市县三级联动,数据是从接口读取,怎么做?

想做一个android 省市县三级联动,数据是从接口读取,怎么做?,第1张

以前做过,数据是在本地xml里面取的:上面是省市区的xml数据网盘地址。如果要做成从服务器取,那么就一次性取下来,然后还是一样的流程。如果你想选择省再去取对应的市,那么就要传省的id去获取对应的市,这时候就要有等待框,可能用户体验差一点。

把本地sql server数据库导入到服务器的方法步骤(SQL 2000为例):

首先打开本地的SQL 2000的企业管理器,然后根据数据库开通信中的地址、用户名密码,建立远程SQL注册,连上远程服务器上的数据库:

然后登录到远程数据库服务器:

1、右击准备导入数据的数据库,选择“所有任务”下的“导入数据”

2、进入DTS导入/导出向导,点击“下一步”按钮继续

3、选择数据源,输入数据源所在的数据库服务器IP、用户名、密码和要复制数据的源数据库,点击“下一步”按钮

4、选择目的,输入目的数据库所在的数据库服务器名称、用户名、密码和要复制数据的目的数据库(这个信息在用户区,数据库管理中可以看到),点击“下一步”按钮

5、选择“在SQL Server数据库之间复制对象和数据”方式,点“下一步”继续

6、注意取消安全措施选项

7、设定调度方式,一般选“立即运行”就可以,然后点“下一步”继续

8、点“完成”执行

 Androidspinner实现省市二级联动,需要自定义adpter,将数据源绑定到adpter,当点击省时,触发自定义响应事件,改变市,示例如下:

public class MainActivity extends Activity { 

private TextView textView  

private Spinner province 

private Spinner city 

    /** Called when the activity is first created. */ 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState) 

        setContentView(R.layout.main) 

        

        //String[] provinces = new String[]{"-省份-","河北省","山西省","北京"} 

        textView = (TextView)this.findViewById(R.id.textView) 

        province = (Spinner)this.findViewById(R.id.province) 

        city = (Spinner)this.findViewById(R.id.city) 

        

        //(处理省的显示) 

        //将可选内容与ArrayAdapter的连接(从资源数组文件中获取数据) 

        ArrayAdapter<CharSequence> adapter = 

             ArrayAdapter.createFromResource(this, R.array.province, android.R.layout.simple_spinner_item) 

         //new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, provinces) 

        //设置下拉列表的风格 

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) 

        

        //将数据绑定到Spinner视图上 

        province.setAdapter(adapter) 

        

        //添加条目被选中监听器 

        province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 

            

   @Override 

   public void onItemSelected(AdapterView<?> parent, View view,int position, long id) { 

    //parent既是province对象 

    Spinner spinner = (Spinner)parent 

    String pro =  (String)spinner.getItemAtPosition(position) 

    //(处理省的市的显示) 

    //将默认值与ArrayAdapter连接(从资源数组文件中获取数据) 

    ArrayAdapter<CharSequence> cityAdapter = ArrayAdapter.createFromResource 

                   (MainActivity.this, R.array.citydefault, android.R.layout.simple_spinner_item) 

     //new  ArrayAdapter<CharSequence> 

          //           (MainActivity.this,android.R.layout.simple_spinner_item, cities) 

    //获取所在省含有哪些市(从资源数组文件中获取数据) 

    if(pro.equals("河北省")){ 

     

     cityAdapter = ArrayAdapter.createFromResource 

                (MainActivity.this, R.array.hb, android.R.layout.simple_spinner_item) 

    }else if(pro.equals("北京市")){ 

     

     cityAdapter = ArrayAdapter.createFromResource 

                (MainActivity.this, R.array.bj, android.R.layout.simple_spinner_item) 

    }else if(pro.equals("山西省")){ 

     

     cityAdapter = ArrayAdapter.createFromResource 

                (MainActivity.this, R.array.shx, android.R.layout.simple_spinner_item) 

    } 

    //绑定数据到Spinner(City)上 

    city.setAdapter(cityAdapter) 

   } 

   @Override 

   public void onNothingSelected(AdapterView<?> parent) { 

    

   } 

       

        }) 

    } 

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10873330.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存