服务器端只需放一个 json文件和一个apk文件即可在线升级app版本,本实例 服务器端的json文件如下
{
"appName": "精准扶贫",
"versionCode": "2",
"versionName": "1.0",
"apkUrl": "http://www.ailaoxiang.com/fupin.apk",
"changeLog":"1.修复xxx Bug;\n2.更新UI界面.",
"updateTips": "更新提示" ,
"forceUpgrade": false //当有新版本时,APP 将会自动下载安装包
}
package com.bullsofts.friends.fupin;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;
import com.bullsofts.friends.fupin.dummy.DummyContent;
import com.shelwee.update.UpdateHelper;
import com.shelwee.update.listener.OnUpdateListener;
import com.shelwee.update.pojo.UpdateInfo;
public class HomeActivity extends AppCompatActivity implements QueryCenterFragment.OnListFragmentInteractionListener,ApplyFragment.OnFragmentInteractionListener,HomeFragment.OnFragmentInteractionListener {
private TextView mTextMessage;
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
mTextMessage.setText(R.string.title_home);
setFragment(new HomeFragment());
return true;
case R.id.navigation_dashboard:
mTextMessage.setText(R.string.title_dashboard);
setFragment(new ApplyFragment());
return true;
case R.id.navigation_notifications:
mTextMessage.setText(R.string.title_notifications);
setFragment(new QueryCenterFragment());
return true;
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
//getWindow().setNavigationBarColor(Color.parseColor("#2FA9F1")); //写法一
mTextMessage = (TextView) findViewById(R.id.message);
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
//在线升级
UpdateHelper updateHelper = new UpdateHelper.Builder(this)
.checkUrl("http://www.ailaoxiang.com/apkupdate.json")
.isAutoInstall(false) //设置为false需在下载完手动点击安装;默认值为true,下载后自动安装。
.isHintNewVersion(false).build();
updateHelper.check();
}
@Override
public void onListFragmentInteraction(DummyContent.DummyItem item) {
}
protected void setFragment(Fragment fragment) {
android.support.v4.app.FragmentTransaction t = getSupportFragmentManager().beginTransaction();
t.replace(R.id.content, fragment);
// t.addToBackStack(null);
t.commit();
}
@Override
public void onFragmentInteraction(Uri uri) {
}
}
资源文件列表
UpdateHelper/.gitignore , 352
UpdateHelper/LICENSE , 11325
UpdateHelper/README.md , 3501
UpdateHelper/build.gradle , 436
UpdateHelper/src/main/AndroidManifest.xml , 424
UpdateHelper/src/main/java/com/shelwee/update/UpdateHelper.java , 17907
UpdateHelper/src/main/java/com/shelwee/update/listener/OnUpdateListener.java , 447
UpdateHelper/src/main/java/com/shelwee/update/pojo/UpdateInfo.java , 1661
UpdateHelper/src/main/java/com/shelwee/update/utils/HttpRequest.java , 1914
UpdateHelper/src/main/java/com/shelwee/update/utils/JSONHandler.java , 1550
UpdateHelper/src/main/java/com/shelwee/update/utils/NetWorkUtils.java , 937
UpdateHelper/src/main/java/com/shelwee/update/utils/URLUtils.java , 569
UpdateHelper/src/main/res/values/strings.xml , 901
UpdateHelper/src/main/res/values/styles.xml , 680
