使用PHP怎么实现一个Android新闻浏览客户端

  介绍

使用PHP怎么实现一个Android新闻浏览客户端?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1,使用HBuilder进行PHP环境配置,测试是否可以查询MySQL语句,之前都已经详细说明过了。

2,此处PHP后台实现MySQL的查询功能,并以JSON数据格式返回个客户端

在PHP此处建立一个mysql_connect。php文件,实现数据库的连接,并设置字符集格式。

& lt; php ?      $ con =, mysql_connect (“localhost",“root",“123456“);//设置字符集为UTF-8 可解决中文乱码   mysql_query (“SET  NAMES  & # 39; use utf8 # 39;“);   mysql_query (“SET  CHARACTER  SET  utf8");   mysql_query (“SET  CHARACTER_SET_RESULT=utf8");      如果(! $ con) {   死(mysql_error ());   }      mysql_select_db (“newsdemo",反对美元);   祝辞;

然后新建一个getNewsJSON。php文件用于进行将查询结果转换成JSON字符串格式。只需要json_encode这个方法即可。

& lt; php ?/*获得JSON数据   ,*返回值:title  desc  time  content_url  pic_url */,   ,   ,require  & # 39; mysql_connect.php& # 39;;      $ n =, 0;   $ result =, mysql_query (“select  *,得到news");   而(row 美元;=,mysql_fetch_array(结果)美元){   加勒比海盗美元($ n + +),=,阵列(   “title"=祝辞;$行[& # 39;标题# 39;],   “desc"=祝辞;$行[& # 39;desc # 39;],   “time"=祝辞;$行[& # 39;时间# 39;],   “content_url"=祝辞;$行[& # 39;content_url& # 39;],   “pic_url"=祝辞$ row [& # 39; pic_url& # 39;】   );   }//数组转化为JSON字符串   美元echo  json_encode (arr);   ?在

重点在于Android端的设计开发

1,设计界面

由于需要以在列表视图的每个条目中设置相同的格式,所以此处运用ListView +适配器的形式

在主界面LinearLayout中添加一个ListView控件

2, Mainactivity程序如下:

public  class  MainActivity  extends  Activity  implements  OnItemClickListener {         private 才能;ListView  lvNews ;   private 才能;NewsAdapter  adapter ;//才能定义集合   private 才能;List< News>, newsList ;   ,,//才能获取json字符串的URL地址   public 才能static  final  String  GET_NEWS_URL =,“http://211.87.234.20/NewsDemo/getNewsJSON.php";//才能获取味精之后如何处理   private 才能Handler  getNewsHandler =, new 处理程序(){   public 才能;void  handleMessage (android.os.Message 味精){   String 才能;jsonData =,(字符串),msg.obj ;   System.out.println才能(jsonData),;   try {才能   JSONArray JSONArray  JSONArray =, new  (jsonData),;   (int  i=0; i< jsonArray.length();我+ +){   JSONObject  object =, jsonArray.getJSONObject (i),;   String  title =, object.getString (“title"),;   String  desc =, object.getString (“desc"),;   String  time =, object.getString (“time"),;   String  content_url =, object.getString (“content_url"),;   String  pic_url =, object.getString (“pic_url"),;   System.out.println (“title=?标题),;//添加一个新闻类型的对象   newsList.add (new 新闻(标题、desc时间、content_url pic_url)),;   }//通知更新   adapter.notifyDataSetChanged (),;   },catch  (JSONException  e), {//,TODO  Auto-generated  catch 块   e.printStackTrace ();   }   ,,   },才能;   },才能;   ,,   @Override才能   protected 才能;void  onCreate (Bundle  savedInstanceState), {   ,,,super.onCreate (savedInstanceState),;   ,,,setContentView (R.layout.activity_main),;   ,,,,   ,,,lvNews =,(视图),findViewById (R.id.lvNews),;   ,,,//初始化   ,,,newsList =, new  ArrayList ();,,   ,,,adapter =, new  NewsAdapter(这个,newsList),;   ,,,lvNews.setAdapter(适配器),;   ,,,lvNews.setOnItemClickListener(这),;   ,,,,   ,,,HttpUtils.getNewsJSON (GET_NEWS_URL getNewsHandler),;   ,,}      @Override才能   public 才能;boolean  onCreateOptionsMenu (Menu 菜单),{   ,,,//,Inflate 从而菜单;,却;能够adds  items 用,action  bar  if  it  is 礼物。   ,,,getMenuInflater () .inflate (R.menu.main,菜单);   ,,,return 真实;   ,,}      @Override   public  void  onItemClick (AdapterView<?祝辞,arg0,, View  __arg1、, int 位置,,long 长度),{//,TODO  Auto-generated  method 存根   News  News =, newsList.get(位置),;   Intent  Intent =, new 意图(这个,BrowseNewsActivity.class),;   intent.putExtra (“content_url" news.getContent_url ()),;   startActivity(意图),;   }   ,,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用PHP怎么实现一个Android新闻浏览客户端