小白编程之使用友盟自动更新
来源:互联网 发布:皮书包知乎 编辑:程序博客网 时间:2024/06/07 03:32
在开发APP过程当中,为实现APP更新时及时提示用户更新,因此使用友盟更新 http://www.umeng.com/component_update 在实际使用过程中,发现非常方便,并且个人手机上发现有多款APP 使用的是相类似的更新提示Dialog,目测应该是属于友盟更新,为方便以后使用方便,特此将使用过程小白化记录。
-sdk下载
友盟自动更新 http://dev.umeng.com/auto-update/android-doc/introduction
1.将下载的ZIP解压,将其中的
libs
文件夹合并到本地工程libs
子目录下。Eclipse用户右键工程根目录,选择
Properties -> Java Build Path -> Libraries
,然后点击Add External JARs...
选择指向jar的路径,点击OK
,即导入成功。android studio用户直接直接复制到 Libs 然后右键选择 Add As Libarry 即导入成功。
2.将SDK提供的
res
文件夹拷入工程目录下, 和工程本身res
目录合并。请不要随便删除其中的文件。3.配置AndroidManifest.xml
打开
AndroidManifest.xml
,添加SDK需要的权限到<manifest>
标签下:<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.INTERNET"></uses-permission>
</pre><div><span style="font-family:Courier New;">android.permission.WRITE_EXTERNAL_STORAGE</span> 权限允许将下载的apk保存到sd卡中。<code>android.permission.ACCESS_NETWORK_STATE</code> 权限允许检查网络状态,从而根据不同网络环境决定何种下载策略,务必添加该权限。</div><div></div><div>4.添加APPKEY和渠道到<code><application></code>标签下:</div><div></div><pre class="html" name="code"><meta-data android:value="YOUR APP KEY" android:name="UMENG_APPKEY"/><meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
YOUR APP KEY 即开发的APP上传友盟后,友盟提供的KEY
UMENG_CHANNEL:用来标注应用推广渠道,不同渠道可以上传不同更新包,您可以使用20位以内的英文和数字为渠道定名,替换value中的"Channel ID"。如果不改动,将代表默认渠道。
(特别提示:如果需要使用友盟自动更新多渠道更新,必须先集成友盟统计SDK)
5.添加Service和Activity到
<application>
标签下:<service android:name="com.umeng.update.net.DownloadingService" android:process=":DownloadingService" ></service><activity android:name="com.umeng.update.UpdateDialogActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" ></activity>
包名可能会出现不一致的情况,在配置时检查一下
-----------------------------------------------------------------------------------------------------------------------
至此,自动更新的配置已经完成,为了使程序在启动是即可以自检是否有更新可用,需要在 应用程序入口
Activity
里的OnCreate()
方法中调用public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); UmengUpdateAgent.update(this);
完成以上配置后,APP在启动后,当程序的VersionCode 低于友盟后台的VersionCode时,会在APP启动后提示用户更新,Android studio 用户的VersionCode 在Builde.Gradle 中配置
-----------------------------------------------------------------------------------------------------------------
以下为部分自定义功能,
上图中,自定义了Button的样式,并且给TextView 添加了点击时的效果,因为在APP使用过程中,如果用户在APP 启动时没有选择升级,但是突然想要手动升级了,就需要调用一下的方法。
其中,可以修改Toast的参数,来修改提示用户信息。
------------------------------------------------------------------------------------------------------------------
接下来简单说一下Dialog的自定义方法
在layout文件夹下的umeng_updata_dialog.xm就是提示框的XML文件,
点击后,打开drawable/emeng_updata_dialog_bg.xml文件
对
<!-- 填充的颜色 -->
<solid android:color="#FFFFFF" />
<!-- 设置矩形的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="8dip" />
android:radius为角的弧度,值越大角越圆。我们还可以把四个角设定成不同的角度,方法为:
至此,基本上关于友盟检查更新就已经配置完成,大致常用的参数简单修改的都已经完成了,关于APP更新的更多设置可以参考友盟官方文档
点击打开链接
tx= (TextView) findViewById(R.id.tx); tx.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { UmengUpdateAgent.setUpdateAutoPopup(false); UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() { @Override public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) { switch (updateStatus) { case UpdateStatus.Yes: // has update UmengUpdateAgent.showUpdateDialog(getApplicationContext(), updateInfo); break; case UpdateStatus.No: // has no update Toast.makeText(getApplicationContext(), "当前已是最新版本!", Toast.LENGTH_SHORT).show(); break; case UpdateStatus.NoneWifi: // none wifi Toast.makeText(getApplicationContext(), "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT).show(); break; case UpdateStatus.Timeout: // time out Toast.makeText(getApplicationContext(), "超时", Toast.LENGTH_SHORT).show(); break; } } });UmengUpdateAgent.forceUpdate(getApplicationContext()); } });
其中,可以修改Toast的参数,来修改提示用户信息。
------------------------------------------------------------------------------------------------------------------
接下来简单说一下Dialog的自定义方法
在layout文件夹下的umeng_updata_dialog.xm就是提示框的XML文件,
<LinearLayout android:id="@+id/umeng_update_frame" android:layout_width="280dp" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@drawable/umeng_update_dialog_bg" //这一行为Dialog边框样式设置 android:paddingBottom="8dp" android:orientation="vertical" >
点击后,打开drawable/emeng_updata_dialog_bg.xml文件
<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="8dp" /> <solid android:color="#FFFFFF"/></shape>
对
<corners android:radius="8dp" />参数修改,可以改变边角半径,参数为0则表示直角
<!-- 填充的颜色 -->
<solid android:color="#FFFFFF" />
<!-- 设置矩形的四个角为弧形 -->
<!-- android:radius 弧形的半径 -->
<corners android:radius="8dip" />
android:radius为角的弧度,值越大角越圆。我们还可以把四个角设定成不同的角度,方法为:
<corners
android:bottomLeftRadius="20dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="1dp"
android:topRightRadius="20dp" />
android:bottomLeftRadius="20dp"
android:bottomRightRadius="0dp"
android:topLeftRadius="1dp"
android:topRightRadius="20dp" />
至此,基本上关于友盟检查更新就已经配置完成,大致常用的参数简单修改的都已经完成了,关于APP更新的更多设置可以参考友盟官方文档
点击打开链接
0 0
- 小白编程之使用友盟自动更新
- Android 自动更新 替代友盟自动更新
- 友盟自动更新
- 友盟自动更新步骤
- android 友盟自动更新
- 友盟自动更新
- Android小项目之四 自动更新检查的逻辑
- 一个自动更新小程序
- 友盟自动更新的替换-android开发自动更新
- 友盟的自动更新组件
- 友盟自动更新产品介绍
- 友盟自动更新迁移理解
- 友盟自动更新技术解决方案
- 编程小白的记录之路
- 小白之matlab c++混合编程
- 小编程之路
- 自动更新的一个小问题
- .NET实现之(自动更新)
- 操作系统多级反馈轮转法的c语言模拟
- 代码整洁之道 函数
- mysql 日志详解
- Guide of Installing CUDA-7.5 on Ubuntu 14.04
- Android控件BroadcastReceiver详解
- 小白编程之使用友盟自动更新
- 5.5 - Pass by Reference
- 抽象类
- SQL学习:SQLCookBook源代码-mysql版本(2)
- 结构体字长计算方法
- 非常棒的二分查找所有情况的考虑
- uva 1368 DNA Consensus String
- linux图形界面登陆失败
- ActiveMQ 中的消息持久化(二)