91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.06M
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2020-12-27
  • 標簽: Android??升級??

資源簡介


由于Android項目開源所致,市面上出現了N多安卓軟件市場。為了讓我們開發的軟件有更多的用戶使用,我們需要向N多市場發布,軟件升級后,我們也必須到安卓市場上進行更新,給我們增加了工作量。因此我們有必要給我們的Android應用增加自動更新的功能。


既然實現自動更新,我們首先必須讓我們的應用知道是否存在新版本的軟件,因此我們可以在自己的網站上放置配置文件,存放軟件的版本信息:

<update>
    <version>2</version>
    <name>baidu_xinwen_1.1.0</name>
    <url>http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk</url>
</update>

在這里我使用的是XML文件,方便讀取。由于XML文件內容比較少,因此可通過DOM方式進行文件的解析

public class ParseXmlService
{
    public HashMap<String, String> parseXml(InputStream inStream) throws Exception
    {
        HashMap<String, String> hashMap = new HashMap<String, String>();
        
        // 實例化一個文檔構建器工廠
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        // 通過文檔構建器工廠獲取一個文檔構建器
        DocumentBuilder builder = factory.newDocumentBuilder();
        // 通過文檔通過文檔構建器構建一個文檔實例
        Document document = builder.parse(inStream);
        //獲取XML文件根節點
        Element root = document.getDocumentElement();
        //獲得所有子節點
        NodeList childNodes = root.getChildNodes();
        for (int j = 0; j < childNodes.getLength(); j  )
        {
            //遍歷子節點
            Node childNode = (Node) childNodes.item(j);
            if (childNode.getNodeType() == Node.ELEMENT_NODE)
            {
                Element childElement = (Element) childNode;
                //版本號
                if ("version".equals(childElement.getNodeName()))
                {
                    hashMap.put("version",childElement.getFirstChild().getNodeValue());
                }
                //軟件名稱
                else if (("name".equals(childElement.getNodeName())))
                {
                    hashMap.put("name",childElement.getFirstChild().getNodeValue());
                }
                //下載地址
                else if (("url".equals(childElement.getNodeName())))
                {
                    hashMap.put("url",childElement.getFirstChild().getNodeValue());
                }
            }
        }
        return hashMap;
    }
}

通過parseXml()方法,我們可以獲取服務器上應用的版本、文件名以及下載地址。緊接著我們就需要獲取到我們手機上應用的版本信息:

/**
 * 獲取軟件版本號
 * 
 * @param context
 * @return
 */
private int getVersionCode(Context context)
{
    int versionCode = 0;
    try
    {
        // 獲取軟件版本號,
        versionCode = context.getPackageManager().getPackageInfo("com.szy.update", 0).versionCode;
    } catch (NameNotFoundException e)
    {
        e.printStackTrace();
    }
    return versionCode;
}
           



通過該方法我們獲取到的versionCode對應AndroidManifest.xml下android:versionCode。android:versionCode和android:versionName兩個屬性分別表示版本號,版本名稱。versionCode是整數型,而versionName是字符串。由于versionName是給用戶看的,不太容易比較大小,升級檢查時,就可以檢查versionCode。把獲取到的手機上應用版本與服務器端的版本進行比較,應用就可以判斷處是否需要更新軟件。


處理流程
            

                     


代碼片段和文件信息

/*?AUTO-GENERATED?FILE.??DO?NOT?MODIFY.
?*
?*?This?class?was?automatically?generated?by?the
?*?aapt?tool?from?the?resource?data?it?found.??It
?*?should?not?be?modified?by?hand.
?*/

package?com.szy.update;

public?final?class?R?{
????public?static?final?class?attr?{
????}
????public?static?final?class?drawable?{
????????public?static?final?int?icon=0x7f020000;
????}
????public?static?final?class?id?{
????????public?static?final?int?btnUpdate=0x7f050000;
????????public?static?final?int?update_progress=0x7f050001;
????}
????public?static?final?class?layout?{
????????public?static?final?int?main=0x7f030000;
????????public?static?final?int?softupdate_progress=0x7f030001;
????}
????public?static?final?class?string?{
????????public?static?final?int?app_name=0x7f040001;
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????280??2012-04-27?18:22??UpdateSoftDemo\.classpath

?????文件????????850??2012-04-27?18:22??UpdateSoftDemo\.project

?????文件????????117??2012-04-27?19:06??UpdateSoftDemo\.settings\org.eclipse.core.resources.prefs

?????文件????????911??2012-04-27?19:50??UpdateSoftDemo\AndroidManifest.xml

?????文件??????12496??2012-04-27?21:05??UpdateSoftDemo\bin\classes.dex

?????文件????????925??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\MainActivity$1.class

?????文件????????940??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\MainActivity.class

?????文件???????2386??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\ParsexmlService.class

?????文件????????328??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R$attr.class

?????文件????????388??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R$drawable.class

?????文件????????414??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R$id.class

?????文件????????425??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R$layout.class

?????文件????????699??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R$string.class

?????文件????????503??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\R.class

?????文件???????1011??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager$1.class

?????文件????????884??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager$2.class

?????文件????????852??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager$3.class

?????文件????????925??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager$4.class

?????文件???????3491??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager$downloadApkThread.class

?????文件???????6973??2012-04-27?21:05??UpdateSoftDemo\bin\com\szy\update\UpdateManager.class

?????文件??????11740??2012-04-27?21:05??UpdateSoftDemo\bin\resources.ap_

?????文件??????19997??2012-04-27?21:05??UpdateSoftDemo\bin\UpdateSoftDemo.apk

?????文件????????159??2012-04-27?19:55??UpdateSoftDemo\bin\version.xml

?????文件????????362??2012-04-27?18:22??UpdateSoftDemo\default.properties

?????文件???????1298??2012-04-27?19:50??UpdateSoftDemo\gen\com\szy\update\R.java

?????文件???????1159??2012-04-27?18:22??UpdateSoftDemo\proguard.cfg

?????文件???????4147??2012-04-27?18:22??UpdateSoftDemo\res\drawable-hdpi\icon.png

?????文件???????1723??2012-04-27?18:22??UpdateSoftDemo\res\drawable-ldpi\icon.png

?????文件???????2574??2012-04-27?18:22??UpdateSoftDemo\res\drawable-mdpi\icon.png

?????文件????????380??2012-04-27?18:25??UpdateSoftDemo\res\layout\main.xml

............此處省略30個文件信息

評論

共有 條評論