精华内容
下载资源
问答
  • Android如何更新app的版本(中级)版本更新看看我们要用到哪些技术1自定义通知栏2 HTTP下载3 AsyncTask4刷新通知栏中的进度条5执行 apk安装的隐士意图6 Toast7签名(安装时系统会自动检测签名是否一致)8获得服务端和...

    Android如何更新app的版本(中级)

    版本更新

    看看我们要用到哪些技术1自定义通知栏

    2 HTTP下载

    3 AsyncTask

    4刷新通知栏中的进度条

    5执行 apk安装的隐士意图

    6 Toast

    7签名(安装时系统会自动检测签名是否一致)

    8获得服务端和客户端的版本号

    上代码

    (1)点击事件判断是否有新版本更新 (2)自定义一个通知 同时刷新下载进度

    (3)异步下载新版本app(4)隐士意图来安装

    首先别忘了写权限!!!!!超爱忘得东西 恨死它了

    private Runnable mrun;

    private NotificationManager mNotificationManager;

    private Notification notification;

    private RemoteViews remoteviews;

    private int count;

    private int loadversion;

    private int version;

    //升级按钮点击事件的方法 通过服务器来解析JSON 得到版本号 判断是否来通知下载

    private void upgrade() {

    PackageManager nPackageManager=getPackageManager();//得到包管理器

    try {

    PackageInfo nPackageInfo=nPackageManager

    .getPackageInfo(getPackageName(),PackageManager.GET_CONFIGURATIONS );

    loadversion=nPackageInfo.versionCode;//得到现在app的版本号

    }catch (NameNotFoundException e1) {

    // TODO Auto-generated catch block

    e1.printStackTrace();

    }

    //服务器端通过GET 得到JSON

    String json=JSandBitmap.httpGetDemo("http://192.168.14.234/version.json");

    try {

    JSONArray jsonArray=new JSONArray(json);

    JSONObject jsonObject=jsonArray.getJSONObject(0);

    version = jsonObject.getInt("version");//得到服务端的app版本号

    }catch (JSONException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    if((loadversion

    sendNotification();

    }else{//如果没有 弹出对话框告知用户

    new AlertDialog.Builder(this)

    .setTitle("update cancel")

    .setMessage("Sorry Not new Version ")

    .setNegativeButton("cencel", null).show();

    }

    }

    //此方法来发送下载通知 采用的是自定义通知栏 并且更加下载的进度来刷新进度条

    //自定义通知的方法 在上上篇的博文中 这里不做太多的解释

    private void sendNotification() {

    mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

    notification = new Notification(

    R.drawable.player_play_light, "Midiplay",

    System.currentTimeMillis());

    remoteviews= new RemoteViews("com.tarena.gsd110623.midiplayonline", R.layout.mynotiifcation);

    remoteviews.setImageViewResource(R.id.p_w_picpathView1, R.drawable.a00);

    notification.contentView=remoteviews;

    Intent intent=new Intent(this,install.class);//PendingIntent 调用的系统的安装隐士意图 后面红色的代码

    PendingIntent pendingintent=PendingIntent.getActivity(this, 0, intent, 0);

    notification.contentIntent=pendingintent;

    mrun=new Runnable() {//这个Runnable 用来根据下载进度来刷新进度条

    @Override

    public void run() {

    if(count<98){//紫色的count 是异步下载计算出来设置进度的值

    remoteviews.setProgressBar(R.id.progressBar1, 100, count, false);

    remoteviews.setTextViewText(R.id.textView1, count+"%");

    mNotificationManager.notify(8888, notification);

    handler.postDelayed(mrun, 300);

    }else{//这里计算出来的count 不是那么准确 所以下载完成后 给一个固定值做为下载完成

    remoteviews.setProgressBar(R.id.progressBar1, 100, 100, false);

    remoteviews.setTextViewText(R.id.textView1, 100+"%");

    mNotificationManager.notify(8888, notification);

    Toast.makeText(Welcome.this, "download over", Toast.LENGTH_SHORT);//提示用户下载成功

    }

    }

    };

    handler.postDelayed(mrun, 300);

    Update_AsyncTask mUpdate_AsyncTask=new Update_AsyncTask();

    try {//启动下载

    mUpdate_AsyncTask.execute(new URL("http://192.168.14.234/android_project_midiplayonline.apk"));

    }catch (MalformedURLException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    //这个内部类用来异步下载新版本app 通过服务端下载这里不多说了

    class Update_AsyncTask extends AsyncTask{

    @Override

    protected Object doInBackground(URL... params) {

    // TODO Auto-generated method stub

    try {

    URLConnection con = params[0].openConnection();

    if (HttpURLConnection.HTTP_OK != ((HttpURLConnection)con).getResponseCode())

    {

    Log.i("Main", "connection failed");

    return null;

    }

    InputStream is = con.getInputStream();

    int contentlength=con.getContentLength();//得到下载的总长度

    System.out.println(contentlength);

    File file=new File(Constant.APK_FILE_PATH);

    if(!file.exists()){

    file.getParentFile().mkdirs();

    file.createNewFile();

    }

    FileOutputStream out=new FileOutputStream(file);

    int current = 0;

    int x=0;

    byte[]arr=new byte[1024];

    while ( (current = is.read(arr)) != -1 ){

    out.write(arr, 0, current);

    x=x+current;

    count=(int)(100*x/contentlength);//计算下载的百分百

    }

    is.close();

    }catch (Exception e) {

    }return null;

    }

    }

    /*

    * 此类为系统安装的隐士意图

    */

    public class install extends Activity{

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    Intent notify_Intent = new Intent(Intent.ACTION_VIEW);

    notify_Intent.setDataAndType(Uri.fromFile(new File(Constant.APK_FILE_PATH)), "application/vnd.android.package-archive");

    startActivity(notify_Intent);

    //取消上一个通知

    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

    nm.cancel(8888);

    overridePendingTransition(0, 0);

    finish();

    }

    }

    效果如下

    257ba9e703db4b2e73d383e7dd6871aa.png

    展开全文
  • <div><h1>Question 该提问来源于开源项目:react-native-community/react-native-device-info</p></div>
  • LG One Click Root工具由XDA-Developers高级开发者avicohh开发,当前最新版本已经是1.3版,你能从下面链接直接地获取它。实际上,在一个半月前,avicohh就为大家带来了相对容易的LG Lollipop Root工具,只不过当时是...

    LG One Click Root工具由XDA-Developers高级开发者avicohh开发,当前最新版本已经是1.3版,你能从下面链接直接地获取它。实际上,在一个半月前,avicohh就为大家带来了相对容易的LG Lollipop Root工具,只不过当时是Bat批处理工具。

    最棒的事情是,avicohh的这款LG One Click Root工具支持所有不同版本的LG G2。这也就是说,不管你的LG G2是国际版、T-Mobile版、Sprint版、ATT版、Verizon版或其它任何不同的版本,你能使用LG One Click Root取得设备的Lollipop Root权限。

    abb7b6b670184e34795506ec6ab83ce1.png

    LG G2 Lollipop固件使用LG One Click Root工具获取Root权限

    1、请在你的电脑上安装好正确的LG Android USB驱动

    2、双击你解压的msi Root程序包LG_One_Click_Root_v1.3.msi安装LG One Click Root工具到你的电脑,这很简单,只是轻松地点点NEXt(下一步)按钮而已

    3、一旦你将LG One Click Root工具安装到你的电脑,你能看到你的电脑桌面上创建了一个相应的快捷方式,双击打开它。或

    4、启用LG G2的USB debugging调试模式,它位于Settings——Developer options(设置——开发者选项)下, 你可能需要先调出Developer options开发者选项,如果你不知道怎么做,可以看看此文

    5、将你的LG G2连接到电脑。你不需要关机或做其它任何事情,只是连接它,你的G2是正常开机的状态

    6、从电脑上已打开的LG One Click Root工具窗口点击Start(开始)按钮开始Root的过程。接下来,几乎所有的动作都是工具自动执行的,请看着相关的提示便是,即便是有什么操作,工具也会提示

    如果LG One Click Root工具没有进行Root的过程,那可能是它没有成功地识别到你的G2手机。

    这个时候,你可以尝试切换手机与电脑之间的连接模式,比如MTP与PTP等,你能这样做:

    1、你的LG G2与电脑应当是连接的

    2、滑出通知面板

    3、点Connected as media device(以多媒体设备连接)通知

    4、这时你会看到各种连接方式,选择MTP与PTP等

    如果你看到MSVCR100.dll is missing(MSVCR100.dll丢失)的错误提示,不要担心,你可以通过安装Microsoft Visual C++可再发行组件程序包来解决。之后,你再重新进行Root的过程。

    展开全文
  • 我想在代码块里面获取服务器上的数据库版本号。。。然后在获取用户本地数据库版本号,两者相减 ...10 这些 *.xml文件 然后在如果用户点击同意升级按钮就将这几个文件下载下来 进行数据解析 放入用户本地数据库。。。
  • 有些时候总是会报一些Android Studio vesion 版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;...

    快速自动更新Android Studio版本

           在开发过程中,有些时候总是会报一些Android Studio vesion  版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;


            第一步: 打开Settings, 找到 下图 1所指的Systym Settings 下面的Updates,然后就会出现右边的界面,都选 2 所指的自动查找版本更新,我的版本是2.0preview2,太老了 ,我都是喜欢体验最新版的,现在我就是点击的Beta 渠道下载,还不是正式版。然后点击 3所指的检查,如果有最新版就会弹出 4 所指的更新提示beta 6 版本,(要想从官方google获取到更新,你的网络要翻墙,这点大家要记住自己的网是不是已经翻墙了,如果没有翻墙我不敢保证你能收到更新,要翻墙大家百度下,都应该知道用vpn吧,你们不懂翻墙就百度下。 )更新内容是从我的2.0 preview2 到beta6之间的累计更新,总共有53Mb,点击 5所指的更新和重启;


          点击更新后,就出现了如下的更新进度条。然后等待更新完毕。


              重启后就看到自己的Android Studio 版本为 2.0 Beta 6 了。


                这里在讲讲 Android Studio各个版本之间的差别;如下图


           可以看到版本有4种渠道更新,他们的特点如下:

             CanaryChannel :金丝雀版,  能获取最新的功能(Bug较多 并且都还没有验证)

           Develop Channel: 开发者版,到了这个版本大Bug都得到了解决;

           Beta Channel:测试版,到这里很多小bug都得到了解决,问题还有点,基本可能是我们遇不到的;

           Stable Channel:正式稳定版,到这里就是官方推荐的最新正式版,不过要等很久,各项功能都很稳定,基本没问题了。适合刚接触AndroidStudio的人使用,和那些最求稳定的开发人员。想我这样喜欢尝鲜的开发人员,就喜欢使用最新的beta版本。哈哈。

            好了这里给大家介绍了Android Studio 翻墙更新版本的小技巧。  希望对大家的工作和学习有帮助,祝大家学习快乐!天天进步一点!

    展开全文
  • Android Studio——版本自动更新详解

    千次阅读 2017-03-07 11:52:59
    有些时候总是会报一些Android Studio vesion 版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;...

           在开发过程中,有些时候总是会报一些Android Studio vesion  版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;

            第一步:

     1、打开Settings, 找到 下图 1所指的Systym Settings 下面的Updates;

    2、所指的自动查找版本更新,我的版本是2.0preview2,太老了 ,我都是喜欢体验最新版的,现在我就是点击的Beta 渠道下载,还不是正式版。

    3、所指的检查,如果有最新版就会弹出 

    4 、所指的更新提示beta 6 版本,(要想从官方google获取到更新,你的网络要翻墙,这点大家要记住自己的网是不是已经翻墙了,如果没有翻墙我不敢保证你能收到更新,要翻墙大家百度下,都应该知道用vpn吧,你们不懂翻墙就百度下。 )更新内容是从我的2.0 preview2 到beta6之间的累计更新,总共有53Mb,点击

     5、所指的更新和重启;


     Android Studio各个版本之间的差别;如下图


           CanaryChannel :金丝雀版,  能获取最新的功能(Bug较多 并且都还没有验证)

           Develop Channel: 开发者版,到了这个版本大Bug都得到了解决;

           Beta Channel:测试版,到这里很多小bug都得到了解决,问题还有点,基本可能是我们遇不到的;

           Stable Channel:正式稳定版,到这里就是官方推荐的最新正式版,不过要等很久,各项功能都很稳定,基本没问题了。适合刚接触AndroidStudio的人使用,和那些最求稳定的开发人员。


    展开全文
  • 本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实。在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有2 MB左右,到了如今。一个app的...
  • 比如增加字段/删除字段/表结构重构等等,随着apk版本的升高,不同版本可能需要对数据库进行修改,但是要求是数据库升级不能影响用户的已存数据,所以今天就来看看数据库升级流程是怎样的。 目录 SQLiteDatabase...
  • Android Pileup ROM升级漏洞初探

    千次阅读 2014-04-02 16:11:00
    此漏洞涉及范围广泛,几乎涉及到了目前所有的Android发行版本。 那么到底是怎样的一个漏洞会有如此大的影响范围呢?下面让我们一探究竟。 Pileup 漏洞是研究人员对于“privilegeescalation through upda
  • Android的apk文件越来越大了这已经是一...在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有2 MB左右。到了如今,一个app的apk文件大小已经升级到10MB到20MB这个范围了。apk文件大小的爆炸式增长...
  • Android studio更新

    2016-04-11 22:32:52
    有些时候总是会报一些Android Studio vesion 版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;...
  • android api教程

    2010-04-18 20:53:38
    现在Android SDK 1.0版本已经正式推出. 它包括源码框架, 实例工程,开发工具,模拟器,当然还包括你所需要的开发Android应用的全部库文件。 下载 最新版 Android SDK 为了开始学习Android平台,请按以下顺序阅读...
  • 有些时候总是会报一些Android Studio vesion 版本低,要求升级之类的错误,然而大家又会嫌麻烦去网上下载,今天给大家介绍的一个小技巧是,在Android Studio里面直接就能升级的小方法,我们来看看怎样升级;...
  • Android4.2开始,开发者选项默认是隐藏的,目前市面上很多人使用小米手机,但却不知道如何开启开发者选项,下面我就简单说一下操作: 1.进入设置界面,点击”我的设备“; 2.点击“全部参数”; ...
  • 但是不想升级又总是收到提醒,真的很烦人有木有!今天绿豆就教你彻底解决,iPhone和安卓都有份!iPhone 关闭系统更新提醒的方法方法一:删除安装包(适用于安装包已被下载)一般有新的系统安装包手机会自动下载,进入...
  • 升级Android studio到2.3版本之后,发现新建Activity或fragment时,xml布局默认布局由RelativeLayout更改为ConstraintLayout了,既然已经推荐使用ConstraintLayout,学会怎样使用就很有必要了。本文的主要是目标是:...
  • 网上的下拉刷新控件有很多,比如常用的PullToRefresh、XListView等,这篇文章我们来学习Android...SwipeRefreshLayout是v4包中的,注意要把Support library的版本升级到19.1以上。下面我们来看下怎样实现。一、布局 <Re
  • 2.1.8 升级Android SDK 25 2.1.9 Android SDK的问题 25 2.1.10 配置Android编译硬件 26 2.1.11 配置操作系统以适应设备编译 26 2.1.12 本书使用的开发环境 27 2.2 探索Android SDK 27 2.2.1 Android ...
  • Android断点续传文件下载,简单实用的代码,如需要可参考。 希望不要觉得我又造一个轮子,我先用了网上代码觉得不好使用,而且发现有错误; 有一些功能强大的框架,我...还有用于版本升级,下载APK文件和Weex打包的.
  • Android APP开发自测点

    2017-12-06 09:39:20
    功能完成后,自测时的检查点 ...5.从低版本升级上来,会不会有问题,比如可能会出现数据库不兼容的问题 6.按下Home再返回是否正常 7.熄灭屏幕再打开是否正常 8.切换成其它应用再切换回来会怎样 ...
  • 目前对移动App的测试主要指的是...特别是第三个,由于安卓的开放性,安卓手机的操作系统升级要大大滞后于Google官方发布的版本,有些手机甚至不支持升级,再加上众多手机硬件和驱动的改动,数千种不同的型号,使得开

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

怎样升级android版本