安卓開(kāi)發(fā)知識(shí)記錄

1.dom轉(zhuǎn)xml string

參考地址
方法:

    public String toXml(HashMap params) throws ParserConfigurationException, TransformerConfigurationException {

        if (params == null){
            return null;
        }
        
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.newDocument();

        document.setXmlVersion("1.0");

        Element requestEle = document.createElement("request");

        Iterator iter = params.keySet().iterator();
        while (iter.hasNext()) {
            Object key = iter.next();
            Object val = params.get(key);
            Element childEle = document.createElement((String) key);
            childEle.setTextContent((String) val);
            requestEle.appendChild(childEle);
        }
        document.appendChild(requestEle);

        // 創(chuàng)建TransformerFactory對(duì)象
        TransformerFactory tff = TransformerFactory.newInstance();

        // 創(chuàng)建Transformer對(duì)象
        Transformer tf = tff.newTransformer();

        // 設(shè)置輸出數(shù)據(jù)時(shí)換行
//        tf.setOutputProperty(OutputKeys.INDENT, "yes");
//
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        // 使用Transformer的transform()方法將DOM樹轉(zhuǎn)換成XML
        String xmlString;
        try {
            tf.transform(new DOMSource(document), new StreamResult(bos));
            xmlString = bos.toString();
        } catch (TransformerException e) {
            xmlString = null;
            e.printStackTrace();
        }

        return xmlString;
    }

}

2.加載.so庫(kù)

由于公司項(xiàng)目用到的幾個(gè).so的庫(kù),自己在導(dǎo)入的時(shí)候遇到了幾個(gè)坑,參考了這篇文章 System.loadLibrary加載so的路徑問(wèn)題
步驟一:在項(xiàng)目路徑下的libs下新建armeabi文件夾,將用到的.so文件放置進(jìn)去

新建armeabi文件夾

步驟二:在項(xiàng)目的build.gradle添加

sourceSets.main{
        jniLibs.srcDirs = ['libs'];
    }

步驟三:添加權(quán)限設(shè)置,在AndroidManifest.xml中添加

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

注意點(diǎn):檢查調(diào)用方法的路徑和so包中的路徑是否一致,不然會(huì)出現(xiàn) Native method not found 的問(wèn)題

3.新建assets目錄

新建的assets目錄需與java在同級(jí)。


新建assets
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容