使用守则
首先,我们要创建Web服务,从MySQL数据库中读取数据。
<?php
<pre>/* require the user as the parameter */
<pre>//http://localhost:8080/sample1/webservice1.php?user=1
if(isset($_GET['user']) && intval($_GET['user'])) {
/* soak in the passed variable or set our own */
$number_of_posts = isset($_GET['num']) ? intval($_GET['num']) : 10; //10 is the default
$format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is the default
$user_id = intval($_GET['user']); //no default
/* connect to the db */
$link = mysql_connect('localhost','root','123456') or die('Cannot connect to the DB');
mysql_select_db('TEST',$link) or die('Cannot select the DB');
/* grab the posts from the db */
//$query = "SELECT post_title, guid FROM wp_posts WHERE post_author =
// $user_id AND post_status = 'publish' ORDER BY ID DESC LIMIT $number_of_posts";
$query = "SELECT * FROM `test`.`users`;";
$result = mysql_query($query,$link) or die('Errant query: '.$query);
/* create one master array of the records */
$posts = array();
if(mysql_num_rows($result)) {
while($post = mysql_fetch_assoc($result)) {
$posts[] = array('post'=>$post);
}
}
/* output in necessary format */
if($format == 'json') {
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
}
else {
header('Content-type: text/xml');
echo '';
foreach($posts as $index => $post) {
if(is_array($post)) {
foreach($post as $key => $value) {
echo '<',$key,'>';
if(is_array($value)) {
foreach($value as $tag => $val) {
echo '<',$tag,'>',htmlentities($val),'</',$tag,'>';
}
}
echo '</',$key,'>';
}
}
}
echo '';
}
/* disconnect from the db */
@mysql_close($link);
}
?>
下面是代码为Android活动读取Web服务和解析JSON对象:
public void clickbutton(View v) {
try {
// http://androidarabia.net/quran4android/phpserver/connecttoserver.php
// Log.i(getClass().getSimpleName(), "send task - start");
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
//
HttpParams p = new BasicHttpParams();
// p.setParameter("name", pvo.getName());
p.setParameter("user", "1");
// Instantiate an HttpClient
HttpClient httpclient = new DefaultHttpClient(p);
String url = "http://10.0.2.2:8080/sample1/" +
"webservice1.php?user=1&format=json";
HttpPost httppost = new HttpPost(url);
// Instantiate a GET HTTP method
try {
Log.i(getClass().getSimpleName(), "send task - start");
//
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
2);
nameValuePairs.add(new BasicNameValuePair("user", "1"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httppost,
responseHandler);
// Parse
JSONObject json = new JSONObject(responseBody);
JSONArray jArray = json.getJSONArray("posts");
ArrayList<HashMap<String, String>> mylist =
new ArrayList<HashMap<String, String>>();
for (int i = 0; i < jArray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = jArray.getJSONObject(i);
String s = e.getString("post");
JSONObject jObject = new JSONObject(s);
map.put("isers", jObject.getString("isers"));
map.put("UserName", jObject.getString("UserName"));
map.put("FullName", jObject.getString("FullName"));
mylist.add(map);
}
Toast.makeText(this, responseBody, Toast.LENGTH_LONG).show();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Log.i(getClass().getSimpleName(), "send task - end");
} catch (Throwable t) {
Toast.makeText(this, "Request failed: " + t.toString(),
Toast.LENGTH_LONG).show();
}
}
这里是PHP代码,将数据发送到Web服务,并将其保存:
<?php
//$json=$_GET ['json'];
$json = file_get_contents('php://input');
$obj = json_decode($json);
//echo $json;
//Save
$con = mysql_connect('localhost','root','123456')
or die('Cannot connect to the DB');
mysql_select_db('TEST',$con);
/* grab the posts from the db */
//$query = "SELECT post_title, guid FROM wp_posts WHERE
// post_author = $user_id AND post_status = 'publish'
// ORDER BY ID DESC LIMIT $number_of_posts";
mysql_query("INSERT INTO `test`.`users` (UserName, FullName)
VALUES ('".$obj->{'UserName'}."', '".$obj->{'FullName'}."')");
mysql_close($con);
//
//$posts = array($json);
$posts = array(1);
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
?>
Android的活动,将数据发送到Web服务作为一个JSON对象保存在MySQL数据库中
public void clickbuttonRecieve(View v) {
try {
JSONObject json = new JSONObject();
json.put("UserName", "test2");
json.put("FullName", "1234567"); HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
//
//String url = "http://10.0.2.2:8080/sample1/webservice2.php?" +
// "json={\"UserName\":1,\"FullName\":2}";
String url = "http://10.0.2.2:8080/sample1/webservice2.php";
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes(
"UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
// If the response does not enclose an entity, there is no need
if (entity != null) {
InputStream instream = entity.getContent();
String result = RestClient.convertStreamToString(instream);
Log.i("Read from server", result);
Toast.makeText(this, result,
Toast.LENGTH_LONG).show();
}
} catch (Throwable t) {
Toast.makeText(this, "Request failed: " + t.toString(),
Toast.LENGTH_LONG).show();
}
}
知识点
要连接到你的模拟器,你可以使用此链接:http://10.0.2.2:8080/。
要读取JSON对象在Web服务中,您可以使用下面这行代码:
$json = file_get_contents('php://input');
$obj = json_decode($json);
‘贰’ 安卓手机的系统文件哪些可以删除
安卓手机可以删除的系统文件:
Browser.apk 系统自带浏览器(可用其他手机浏览器替代)
Calculator.apk 计算器(可删,可用其他替代)
Calendar.apk 日历(可删)
CalendarProvider.apk 日历程序支持服务(可删)
DSPManager.apk DSP音频管理(可删)
FileManager.apk 简易文件管理器(可删,可用ES文件管理器替代)
Gallery3D.apk 3D图片浏览器 (可删)
GenieWidget.apk 天气与新闻(可删)
Gmail.apk Gmail(可删)
GoogleBackupTransport.apk ***(未知程序,可删)
GoogleCalendarSyncAdapter.apk 存储日历信息(可删)
GoogleContactsSyncAdapter.apk 存储联系人信息(可删)
GooglePartnerSetup.apk Google助手(可删)
GoogleQuickSearchBox.apk 谷歌搜索(可删)
HTMLViewer.apk HTML浏览器(可删)
kickback.apk 辅助功能!
LauncherPro.apk 原生桌面(可删)
LiveWall**sPicker.apk 动态壁纸(可删)
Maps.apk Google地图(可删)
Market*r.apk 市场升级(不确定)
MediaUploader.apk 媒体升级(可删)
Mms.apk 自带信息(可删) `
Music.apk 自带音乐(可删,用自己喜欢的播放器吧)
NetworkLocation.apk 网络位置(可删)
OneTimeInitializer.apk ***(未知,可删)
PhoneGuard.apk 拨号卫士(可删)
PicoTts.apk 可删(文字语言转换的语音合成引擎,设置-语音输入与输出中)
Protips.apk 桌面小绿人插件(可删)
导(在定制Rom时不可删,刷好机可用Root Explorer删掉)
soundback.apk 辅助功能(可删)
Street.apk 街道(可删)
Talk.apk 系统服务项(可删)
talkback.apk 辅助功能(可删)
TtsService.apk Text-to-speech服务(可删)
*r.apk 在线升级(可删)
UserDictionaryProvider.apk 用户数据字典服务(可删)
Vending.apk 电子市场(可删)
VoiceSearch.apk 语音搜索(可删)
精简常见问题解答:
部分程序精简卸载了之后对在线升级有影响,比如:Updater.apk 等。可以通过下载版本对应的OTA升级包,放入SD卡,进行手动升级,完全是没有问题的。
具体方法:下载对应的升级包(.zip),放入SD卡根目录,手机端打开“系统升级”;按“菜单键”选择“选择安装包”,找到升级包,确认重启升级。
如果此方法升级失败可手动进入Recovery,依次选择:install zip from sdcard;choose zip from sdcard;找到OTA升级包,确认选择Yes即可更新升级;
‘叁’ 安卓手机里面哪些文件夹可以删除
手机系统文件中的以下文件是不能删除的:
1、.android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用。
2、Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载。
3、backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹。
4、bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹。
5、data:缓存数据文件夹,与Android类似。例如,“截图助手”截图保存在
data\com.edwardkim.android.screenshotitfull\screenshots里。
6、LOST.DIR:卡上丢失或出错的文件会移动到这里,此目录删了会自动生成。
7、SystemAppBackup:SystemApp remove(深度卸载)备份系统文件后,备份文件保存的目录。
8、bugreports:升级系统或刷机,系统和程序发生兼容错误报告列表(包括内存使用全部内容)将保存在这个文件,重起机器可以删除。
9、.keepsafe:隐藏类的软件、加密保存文件地址存放于此。
10、.thumbs:浏览或使用某一软件,以及使用某一文件夹后用于记录次数和内容的文件,随机产生,需要定期不断清除,长时间不清理会大量占用储存卡的有效空间。
11、openfeint:打开联接网络后的一个启动程序,它广泛植入移动类平台发布的软件或游戏,是更新下载或评论反馈信息的记录地址,可删除。
12、com:播放类软件在收看播放影视节目生成的文件将存放于此,可以对制作方反映回馈信息,可以删除。
13、Download(download):大写字母的是网络联接下载文件目录,小写字母的是手机自身(蓝牙,近场等)存放下载传输文件,不要误删。
系统工具类——系统自带工具相关文件夹
1、albumart:音乐专辑封面的缓存文件夹。
2、albums:相册缩略图的缓存文件夹。
3、cmp:音乐的缓存文件夹。
4、Playlists:播放列表的缓存文件夹。
5、DCIM:相机随机缓存文件夹,记录功能设置的参数,需要及时清理。一些第三方相机软件拍出的相片也会保存在这里,比如360或晕影相机等。
6、VPN:VPN数据的缓存目录。
7、My documents:手机启用各种程序任务记录的文档,需要定期清除,长时间不清理会占用SD卡较大内存。
8、.nomedia:手机中隐藏的音频、图片文件夹都会在这里显示,可以自设在相关文件夹中。
9、media:使用电话通话录音软件或在线浏览视频等媒体产生的音频文件记录存档将保存在此。
10、.medieval_software:启用蓝牙传输软件时,记录任务保存文件的目录。
11、extracted:解压缩软件默认的解压目录。
三方应用类
1、.mobo:Moboplayer的缓存文件。
2、.QQ:QQ的缓存文件,需要定期清除。
3、.quickoffice:quickoffice的缓存文件。
4、.switchpro:switchprowidget(多键开关应用)的缓存文件。
5、.ucdlres:UC迅雷的缓存文件。
6、:掌上网络、网络输入法之类程序的缓存文件夹。
7、etouch:易行的缓存文件夹。
8、documents:Documents To Go的相关文件夹。
9、gameloft:gameloft游戏数据包存放的文件夹。
10、handcent:handcent(超级短信)数据文件夹。
11、handyCurrency:货币汇率相关的文件夹,装了handycalc(科学计算器)之后才会有。
12、ireader:ireader的缓存文件夹。
13、KingReader:开卷有益的缓存文件夹:下载的文件和应用都在这儿:删除时留意看清
14、LazyList:Applanet的缓存目录,慎重使用。
15、moji:墨迹天气的缓存目录。
16、MusicFolders:poweramp产生的缓存文件夹。
17、openfeint:openfeint的缓存文件夹。
18、Picstore:图片浏览软件建立的一个目录。
19、renren:人人网客户端的缓存文件夹。
20、screenshot:截屏图片保存的目录。
21、ShootMe:shootme截屏后图片文件保存的目录。
22、SmartpixGames:Smartpix Games出品游戏的缓存文件夹,比如Jewellust。
23、sogou:搜狗拼音输入法的随机缓存文件夹,可以删除。
24、SpeedSoftware:RE文件管理器的缓存文件夹。
25、TalkingFriends:talking tom(会说话的tom猫)录制的视频文件所保存的目录。
26、Tencent:腾讯软件的缓存目录,比如QQ。(与上面的.QQ文件夹并不相同)
27、TitaniumBackup:钛备份备份的程序所保存的目录。
28、TunnyBrowser:感觉是海豚浏览器的缓存目录,但为什么叫这个名字?金枪鱼浏览器...。.
29、UCDLFiles:UC迅雷下载文件的保存目录。
30、UCDownloads:UC浏览器下载文件缓存的保存目录。
31、VIE:Vignette(晕影相机)的缓存目录。
32、yd_historys:有道词典搜索历史的缓存目录
33、yd_speech:有道词典单词发音的缓存目录。
34、youmicache:删掉后还会自动生成,悠米广告的缓存目录,广告程序内嵌在其程序中。
35、Glu:Glu系列游戏的资料包存放地,如3D猎鹿人,勇猛二兄弟等。
36、apadqq-images:QQ for pad的缓存目录。
37、DunDef:地牢守护者的数据包。
38、KuwoMusic:酷我音乐的相关文件夹。
39、MxBrowser:遨游的缓存目录。
40、Camera360:相机camera360的随机缓存目录,可以定期清除。
41、TTPod:天天动听的缓存目录。
42、downloaded:刷了MIUI,升级后的ZIP刷机包,保存在downloaded_rom里。
43、.estrongs:当你使用了ES文件管理器解压文件,会有这个缓存记录。它反映使用进程,可以删除。
44、silentR:用了后台录音软件,自生的音频文件夹,子文件夹phoneCalls,定期管理清除
45、3D-compass:这是使用实景指南针软件,生成的景象图片(图像和数字比较详细)文件夹,可以清除。
46、PDF:可移植文档格式,Pdf阅读器存储文件夹。
47、Zidan you:是字典的词库文件储存,删除了要重新下载词库。
48、Callrecords:采用第三方强制双向录音软件(手机未root),音频文件保存。
49、VPlayer Pro:是MOBO等视频播放器使用后的记录定期删除。
50、BeWeather(Videos):是气象类软件(如黑莓天气.。.等)附加下载音频或动画图标的储存地址,删除了会无图无声显示。
51、thumbnails:用第三方播放器观看手持移动类视频媒体时,存放点击暂停、随机截图以及文件储存时产生的内容。
52、iQuran(meta2):可兰经浏览文本和音频的储存文件。
53、Autodesk:手机系统自带存储器命令生成文件夹:储存图像或编写文稿,可以查看、备份或者删除。
54、PixlrOMatic:后期特效处理图片软件Pixlo,储存文件夹,打开可以预览看效果。
55、mapbar:图吧导航地图存放文件,有必须主文件和不同地区具体地图,主文件删掉要重下!
56、antTTS:是使用了高德导航选择语音种类导航、语种的下载地址,删掉了语音提示会丢失。
57、kingsoft:金山词霸专用文件夹下载储存词库、更新拓展文汇(官方发布修正补充)。
58、NightVisionCamera:夜间拍照相机相片存放的地址。
59、DSA:电子狗专用夹,收录各地区道路探头监控位置信息,会定期更新。已测试配合高德、凯立德提前预警,效果不错。
60、apexlauncher:尖端桌面启动器文件夹,位置在andriod/data/,放置桌面设置备份bak文件。
‘肆’ 古兰经音频哪个播放器
您好,古兰经音频播放器有很多种,比如:iTunes,VLC,Windows Media Player,RealPlayer,QuickTime等。它们都可以播放古兰经音频,但是每个播放器都有自己的优点和缺点。iTunes是一款全功能的音频播放器,它可以播放古兰经音频,而且可以购买和下载歌曲,还可以添加歌词和封面。VLC是一款开源的多媒体播放器,它可以播放古兰经音频,而且可以播放几乎任何格式的音频文件,而且它还可以播放DVD,VCD,CD等。Windows Media Player是一款免费的多媒体播放器,它可以播放古兰经音频,而且可以播放几乎任何格式的音频文件,它还可以播放DVD,VCD,CD等。RealPlayer是一款免费的多媒体播放器,它可以播放古兰经音频,而且可以播放几乎任何格式的音频文件,它还可以播放DVD,VCD,CD等。QuickTime是一款免费的多媒体播放器,它可以播放古兰经音频,而且可以播放几乎任何格式的音频文件,它还可以播放DVD,VCD,CD等。总之,您可以根据自己的需要选择合适的播放器来播放古兰经音频。