本文实例为大家分享了Android新闻浏览客户端,基于php后台,供大家参考,具体内容如下
1、使用HBuilder进行PHP环境配置,测试是否可以查询MySQL语句,之前都已经详细说明过了。
2、此处php后台实现mysql的查询功能,并以JSON数据格式返回个客户端
在PHP此处建立一个mysql_connect.php文件,实现数据库的连接,并设置字符集格式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php $con = mysql_connect( "localhost" , "root" , "123456" ); //设置字符集为UTF-8 可解决中文乱码 mysql_query( "SET NAMES 'utf8'" ); mysql_query( "SET CHARACTER SET utf8" ); mysql_query( "SET CHARACTER_SET_RESULT=utf8" ); if (! $con ){ die (mysql_error()); } mysql_select_db( "newsdemo" , $con ); ?> |
然后新建一个getNewsJSON.php文件用于进行将查询结果转换成JSON字符串格式。只需要 json_encode这个方法即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php /*获得JSON数据 * 返回值:title desc time content_url pic_url*/ require 'mysql_connect.php' ; $n = 0; $result = mysql_query( "select * from news" ); while ( $row = mysql_fetch_array( $result )){ $arr [ $n ++] = array ( "title" => $row [ 'title' ], "desc" => $row [ 'desc' ], "time" => $row [ 'time' ], "content_url" => $row [ 'content_url' ], "pic_url" => $row [ 'pic_url' ] ); } //数组转化为JSON字符串 echo json_encode( $arr ); ?> |
重点在于Android端的设计开发
1、设计界面
由于需要以在ListView的每个Item中设置相同的格式,所以此处运用ListView+Adapter的形式
在主界面LinearLayout中添加一个ListView控件
2、Mainactivity程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
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" ; //获取msg之后如何处理 private Handler getNewsHandler = new Handler(){ public void handleMessage(android.os.Message msg){ String jsonData = (String) msg.obj ; System.out.println(jsonData) ; try { JSONArray jsonArray = new JSONArray(jsonData) ; for ( int i= 0 ;i<jsonArray.length();i++){ JSONObject object = jsonArray.getJSONObject(i) ; String id="codetool">
此处需要一个工具类HttpUtils以及自定义的NewsAdapter以实现item的视图显示. HttpUtils代码如下:
NewsAdapter代码如下:
news_item用来设置每个item的显示格式
注意:此item中需要显示单个图片,所以用到Bitmap这个类。由于用到网络传输,所以需要用到线程这个概念!! 关键理解handler message以及loop这三者的关系。 以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。 相关文章
热门资讯 |