基于PHP后台的Android新闻浏览客户端
php  /  管理员 发布于 7年前   158
本文实例为大家分享了Android新闻浏览客户端,基于php后台,供大家参考,具体内容如下 1、使用HBuilder进行PHP环境配置,测试是否可以查询MySQL语句,之前都已经详细说明过了。 2、此处php后台实现mysql的查询功能,并以JSON数据格式返回个客户端 在PHP此处建立一个mysql_connect.php文件,实现数据库的连接,并设置字符集格式。 然后新建一个getNewsJSON.php文件用于进行将查询结果转换成JSON字符串格式。只需要 json_encode这个方法即可。 重点在于Android端的设计开发 1、设计界面 由于需要以在ListView的每个Item中设置相同的格式,所以此处运用ListView+Adapter的形式 在主界面LinearLayout中添加一个ListView控件 2、Mainactivity程序如下: 此处需要一个工具类HttpUtils以及自定义的NewsAdapter以实现item的视图显示. HttpUtils代码如下: NewsAdapter代码如下: news_item用来设置每个item的显示格式 注意:此item中需要显示单个图片,所以用到Bitmap这个类。由于用到网络传输,所以需要用到线程这个概念!! 关键理解handler message以及loop这三者的关系。 以上就是本文的全部内容,希望对大家学习Android软件编程有所帮助。$row['title'],"desc"=>$row['desc'],"time"=>$row['time'],"content_url"=>$row['content_url'],"pic_url"=>$row['pic_url']);}//数组转化为JSON字符串echo json_encode($arr);?>
public class MainActivity extends Activity implements OnItemClickListener{ private ListView lvNews ; private NewsAdapter adapter ; //定义集合 private List
package com.MR.news.utils;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Handler;import android.os.Message;import android.widget.ImageView;public class HttpUtils {//工具类直接定义成静态方法即可/*url用于内部类中,所以要将其设定为final类型*//*读取完成需要通知主线程,需要使用handler*/public static void getNewsJSON(final String url,final Handler handler){//访问网络,时间长,开启新线程new Thread(new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubHttpURLConnection conn ;InputStream is ;try {conn = (HttpURLConnection) new URL(url).openConnection() ;//GET方式获取conn.setRequestMethod("GET") ;//得到输入流is=conn.getInputStream() ;//读取数据用缓冲,里面要传入一个readerBufferedReader reader = new BufferedReader(new InputStreamReader(is));//一行一行读取数据String line = "";//没读完一行进行拼接,高效StringBuilder result = new StringBuilder();while((line = reader.readLine()) != null){result.append(line);}Message msg = new Message() ;//msg.obj可以放进去任何对象msg.obj = result.toString() ;handler.sendMessage(msg) ;} catch (Exception e) {e.printStackTrace();}}}).start() ;}public static void setPicBitMap(final ImageView ivPic,final String pic_url){new Thread(new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubtry {HttpURLConnection conn = (HttpURLConnection) new URL(pic_url).openConnection() ;conn.connect() ;InputStream is = conn.getInputStream() ;//bitmap就是所需图片资源/*从资源文件中的到图片*/Bitmap bitmap = BitmapFactory.decodeStream(is) ;ivPic.setImageBitmap(bitmap) ;is.close() ;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} }}).start() ;}}
package com.MR.news.adapter;import java.util.List;import com.MR.news.R;import com.MR.news.model.News;import com.MR.news.utils.HttpUtils;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class NewsAdapter extends BaseAdapter {//声明上下文对象,后面的getView方法需要private Context context;private List
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号