介绍
使用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新闻浏览客户端