当前位置: 编程技术>移动开发
本页文章导读:
▪直接装配最新的apk而不用打开其他的程序的实现 直接安装最新的apk而不用打开其他的程序的实现原问题来自于CSDN问答频道,更多见:http://ask.csdn.net/questions/1384
原问题描述:
我在web服务器的后台每24小时检查一次应用程序版本。
如果更新.........
▪ jquerymobile-17 搜寻框、滑动按钮(Slider)、开关(Flip toggle switch) jquerymobile-17 搜索框、滑动按钮(Slider)、开关(Flip toggle switch)今天介绍一下搜索框、滑动按钮(Slider)、开关(Flip toggle switch),我写的东西都是比较简单的,所以还需要读者认真的去研究官方的API.........
▪ 详解一上什么SHSH 详解一下什么SHSH想知道SHSH是什么,首先需要了解下什么是iPhone设备的ECID(Exclusive Chip ID)。
所谓ECID,就是苹果 iPhone设备的身份证号,每一个苹果 iPhone 4(或者iPod Touch 3G、iPhone 3GS等)都有.........
[1]直接装配最新的apk而不用打开其他的程序的实现
来源: 互联网 发布时间: 2014-02-18
直接安装最新的apk而不用打开其他的程序的实现
原问题来自于CSDN问答频道,更多见:http://ask.csdn.net/questions/1384
原问题描述:
我在web服务器的后台每24小时检查一次应用程序版本。
如果更新可用,它会提示用户下载新的apk。
Uri uri = Uri.parse(downloadURL); Intent intent = new Intent(Intent.ACTION_VIEW,uri); startActivity(intent);
上面的代码打开用户的浏览器,并开始下载。
我不想打开浏览器,但是需要下载apk文件文件。 或者直接安装最新的apk而不用打开其他的程序。如何实现呢?
:
首先,你需要下载apk文件
String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); File folder = new File(extStorageDirectory, "APPS"); folder.mkdir(); File file = new File(folder, "AnyName."+"apk"); try { file.createNewFile(); } catch (IOException e1) { e1.printStackTrace(); } /** * APKURL is your apk file url(/blog_article/server url/index.html) */ DownloadFile("APKURL", file);
DownloadFile函数是
public void DownloadFile(String fileURL, File directory) { try { FileOutputStream f = new FileOutputStream(directory); URL u = new URL(/blog_article/fileURL/index.html); HttpURLConnection c = (HttpURLConnection) u.openConnection(); c.setRequestMethod("GET"); //c.setDoOutput(true); c.connect(); InputStream in = c.getInputStream(); byte[] buffer = new byte[1024]; int len1 = 0; while ((len1 = in.read(buffer)) > 0) { f.write(buffer, 0, len1); } f.close(); } catch (Exception e) { System.out.println("exception in DownloadFile: --------"+e.toString()); e.printStackTrace(); }
下载apk文件后,添加下面的代码
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/APPS/" + "AnyName.apk")), "application/vnd.android.package-archive"); startActivity(intent);
在 manifest文件中添加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
[2] jquerymobile-17 搜寻框、滑动按钮(Slider)、开关(Flip toggle switch)
来源: 互联网 发布时间: 2014-02-18
jquerymobile-17 搜索框、滑动按钮(Slider)、开关(Flip toggle switch)
效果如下:
效果如下:
今天介绍一下搜索框、滑动按钮(Slider)、开关(Flip toggle switch),我写的东西都是比较简单的,所以还需要读者认真的去研究官方的API。
首先给一个搜索框的代码:
<!DOCTYPE html> <html> <head> <title>Form Example 8</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Form Demo</h1> </div> <div data-role="content"> <form action="/blog_article/echo.cfm" method="post"> <div data-role="fieldcontain"> <label for="name">姓名:</label> <input type="search" name="name" id="name" value="" /> </div> <div data-role="fieldcontain"> <input type="submit" name="submit" value="搜索" /> </div> </form> </div> </div> </body> </html>
效果如下:
搜索框中默认为空,也没有后面的×号。当我们输入内容的时候会自动出现。
然后看一段滑动按钮(Slider)的代码:
<!DOCTYPE html> <html> <head> <title>Form Example 10</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Form Demo</h1> </div> <div data-role="content"> <form action="/blog_article/echo.cfm" method="post"> <div data-role="fieldcontain"> <label for="coolness">音量:</label> <input type="range" name="coolness" id="coolness" min="0" max="100" value="22" data-highlight="true"> </div> <div data-role="fieldcontain"> <input type="submit" name="submit" value="Send" /> </div> </form> </div> </div> </body> </html>
效果如下:
代码中min、max、value相信大家都可以看懂。默认的情况每滑动一下变化为1,我们可以为其添加step属性,其值为你想改变的数。
下面给出一个开关(Flip toggle switch)的代码:
<!DOCTYPE html> <html> <head> <title>Form Example 9</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/latest/jquery.mobile.min.css" /> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script> <style> div.ui-slider-switch { width: 9em } </style> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Form Demo</h1> </div> <div data-role="content"> <form action="/blog_article/echo.cfm" method="post"> <div data-role="fieldcontain"> <label for="gender">性别:</label> <select name="gender" id="gender" data-role="slider" > <option value="0">男</option> <option value="1">女</option> </select> </div> <div data-role="fieldcontain"> <input type="submit" name="submit" value="Send" /> </div> </form> </div> </div> </body> </html>
如果想学习更多还请多看看官方的DEMO。
[3] 详解一上什么SHSH
来源: 互联网 发布时间: 2014-02-18
详解一下什么SHSH
想知道SHSH是什么,首先需要了解下什么是iPhone设备的ECID(Exclusive Chip ID)。
所谓ECID,就是苹果 iPhone设备的身份证号,每一个苹果 iPhone 4(或者iPod Touch 3G、iPhone 3GS等)都有自己的独特的ECID。
那什么是SHSH,它又有什么用处呢?
当我们用iTunes进行恢复固件操作时,Apple会通过验证服务器送一个和ECID对应的文件SHSH到iTunes,这样iTunes就可以继续进行和这个SHSH相对应的固件恢复。iPhone 3GS出来时候,苹果为加强对iPhone OS的控制,对恢复(Restore)固件(Firmware)采用了验证过程,每次iTunes要恢复固件的时候都要连接苹果的服务器验证(ECID就送到了服务器)。严格的说,不是“备份”SHSH,而是去苹果的服务器上读取SHSH保存,SHSH只存在于苹果的服务器上,一个版本的SHSH对应其相应版本的固件(Firmware)。
小伞(俗称umbrella)在恢复固件时所发挥的作用,其实就是通过自建Apple验证服务器功能,来绕开Apple真正的验证服务器,将以前通过它备份的SHSH模拟成Apple验证服务器来发送给iTunes,iTunes以为收到了Apple服务器上的SHSH,就可以进行和收到的这个SHSH(以前备份的)相对应的固件恢复过程,也就是说,可以恢复到你保存SHSH时所对应的固件版本,即所谓的固件降级。
简单的说就是只要你备份了SHSH后就不会出现升级到某个最新固件的版本,完美越狱在不能越狱的情况下,但又降级不了较低固件的悲剧,只要备份了SHSH就能顺利降级到你所备份SHSH对应的固件版本。因此在升级固件前强烈建议备份下SHSH。
想知道SHSH是什么,首先需要了解下什么是iPhone设备的ECID(Exclusive Chip ID)。
所谓ECID,就是苹果 iPhone设备的身份证号,每一个苹果 iPhone 4(或者iPod Touch 3G、iPhone 3GS等)都有自己的独特的ECID。
那什么是SHSH,它又有什么用处呢?
当我们用iTunes进行恢复固件操作时,Apple会通过验证服务器送一个和ECID对应的文件SHSH到iTunes,这样iTunes就可以继续进行和这个SHSH相对应的固件恢复。iPhone 3GS出来时候,苹果为加强对iPhone OS的控制,对恢复(Restore)固件(Firmware)采用了验证过程,每次iTunes要恢复固件的时候都要连接苹果的服务器验证(ECID就送到了服务器)。严格的说,不是“备份”SHSH,而是去苹果的服务器上读取SHSH保存,SHSH只存在于苹果的服务器上,一个版本的SHSH对应其相应版本的固件(Firmware)。
小伞(俗称umbrella)在恢复固件时所发挥的作用,其实就是通过自建Apple验证服务器功能,来绕开Apple真正的验证服务器,将以前通过它备份的SHSH模拟成Apple验证服务器来发送给iTunes,iTunes以为收到了Apple服务器上的SHSH,就可以进行和收到的这个SHSH(以前备份的)相对应的固件恢复过程,也就是说,可以恢复到你保存SHSH时所对应的固件版本,即所谓的固件降级。
简单的说就是只要你备份了SHSH后就不会出现升级到某个最新固件的版本,完美越狱在不能越狱的情况下,但又降级不了较低固件的悲剧,只要备份了SHSH就能顺利降级到你所备份SHSH对应的固件版本。因此在升级固件前强烈建议备份下SHSH。
最新技术文章: