美文网首页
安卓开发知识记录

安卓开发知识记录

作者: me007 | 来源:发表于2017-06-28 12:02 被阅读7次

    1.dom转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);
    
            // 创建TransformerFactory对象
            TransformerFactory tff = TransformerFactory.newInstance();
    
            // 创建Transformer对象
            Transformer tf = tff.newTransformer();
    
            // 设置输出数据时换行
    //        tf.setOutputProperty(OutputKeys.INDENT, "yes");
    //
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            // 使用Transformer的transform()方法将DOM树转换成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库

    由于公司项目用到的几个.so的库,自己在导入的时候遇到了几个坑,参考了这篇文章 System.loadLibrary加载so的路径问题
    步骤一:在项目路径下的libs下新建armeabi文件夹,将用到的.so文件放置进去

    新建armeabi文件夹
    步骤二:在项目的build.gradle添加
    sourceSets.main{
            jniLibs.srcDirs = ['libs'];
        }
    

    步骤三:添加权限设置,在AndroidManifest.xml中添加

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

    注意点:检查调用方法的路径和so包中的路径是否一致,不然会出现 Native method not found 的问题

    3.新建assets目录

    新建的assets目录需与java在同级。


    新建assets

    相关文章

      网友评论

          本文标题:安卓开发知识记录

          本文链接:https://www.haomeiwen.com/subject/zpgscxtx.html