当前位置: 首页 > news >正文

南京市建设局网站网络优化app哪个好

南京市建设局网站,网络优化app哪个好,wordpress网站恢复,国内可访问的海外网站和应用什么时候需要用到动态加载jar包呢#xff1f; 减少apk本身大小#xff0c;某些界面才需要用jar里的功能jar中的功能可以独立开发#xff0c;不要依赖其它的东西#xff0c;能适用各个项目和第三方公司合作#xff0c;人家不提供项目源码给你#xff0c;但又要开发他们使…什么时候需要用到动态加载jar包呢 减少apk本身大小某些界面才需要用jar里的功能jar中的功能可以独立开发不要依赖其它的东西能适用各个项目和第三方公司合作人家不提供项目源码给你但又要开发他们使用的某些应用场景 实现步骤 1. 编写jar的代码 新建一个service module,编写以下代码 public interface AbstractAction {/*** 开始* param c*/void start(Context c);/*** 停止*/void stop(); }public class MainAction implements AbstractAction {RequiresApi(api Build.VERSION_CODES.LOLLIPOP)Overridepublic void start(Context c) {TaskManager.getInstance().start(c);}RequiresApi(api Build.VERSION_CODES.LOLLIPOP)Overridepublic void stop() {TaskManager.getInstance().stop();} }public class TaskManager {private volatile static TaskManager instance null;private boolean isRun true;private TaskManager() {}public static TaskManager getInstance() {if (instance null) {synchronized (TaskManager.class) {if (instance null) {instance new TaskManager();}}}return instance;}/*** 初始化** param context*/public void start(Context context) {// 做自己想做的事new Thread() {Overridepublic void run() {while (isRun)Log.i(xian, 执行任务中... );try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}}.start();}public void stop() {isRun false;}}2. 将代码打包并jar转换为 android 可以使用的jardex包 由于android不能直接像java程序那样直接引用jar包 需要转换dex才行 1. 在module中的 build.gradle 文件中加入以下代码生成jar包。输出路径为 task makeJar(type: Copy) {//删除已经存在的 jardelete build/libs/test-java.jar//设置拷贝的文件from(build/intermediates/aar_main_jar/release/)//打进jar包后的文件目录into(build/libs/)include(classes.jar)//重命名rename (classes.jar, test-java.jar) }makeJar.dependsOn(build)2.执行makeJar Task, 一种是点击 task makeJartyoe.Copy前面的绿色小三角运行另外一种可以打开gardle,然后找到 service -- other -- makeJar 运行 3.运行完后就会在 serice/ -- build -- lib下生成 test-java.jar 4. 使用android sdk -- build-tools -- 30.0.2(任意一个版本) -- dx 配置为环境变量 如果觉得此操作麻烦可以使用步骤5的方法 windows 的电脑 右击 我的电脑 -- 属性 -- 高级系统设置 -- path -- 添加 dx的路径 -- 保存 5. 如果不想配置环境变量可以winR -- cmd 打开控制台 输入 D:\Android\Sdk\build-tools\30.0.2我的sdk存放的路径然后 D: 回车 切换到D盘路径如下图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d5d4b1c6797741d18c1453389be2caa5.png 6.将步骤3生成好的test-java.jar 包拷贝到桌面如果配置了环境变量可以直接使用dx命令没有配置的话就进入 sdk目录中的dx所在的目录执行dx命令。 执行完命令后就可以生成Android 可以调用的 test.jar 了 dx --dex --outputC:\Users\dell\Desktop\test.jar C:\Users\dell\Desktop\test-java.jar3. 动态调用jar包 将成功后 test.jar 拷贝到手机的目录中然后在项目中调用jar 如果看到执行任务中… 就证明调用成功。 /*** 使用dexClassLoader 动态加载test.jar,然后通过反射调用方法即可** param view*/fun loadJar(view: View) {if (!PermissionUtils.checkPermission(this)) {Toast.makeText(this,没有文件读写权限,Toast.LENGTH_LONG).show()//跳转到设置权限界面PermissionUtils.requestAppUsagePermission(this);return}val pluginPath File(getExternalFilesDir(null)?.absolutePath /test.jar)Log.i(xian,jar 包存放路径 ${pluginPath})val dataFile: String codeCacheDir.absolutePathtry {val classLoader DexClassLoader(pluginPath.absolutePath, dataFile, null, javaClass.classLoader)val mainActionClass classLoader.loadClass(com.xian.service.main.MainAction);val mainAction mainActionClass.newInstance()//开始执行mainActionClass.getDeclaredMethod(start, Context::class.java).invoke(mainAction, this)}catch (e:Throwable){// 路径记得放对 否则会报 ClassLoader referenced unknown pathe.printStackTrace()}}注意 1. 申请读写权限 2.test.jar的存放路径 4. 源码 https://download.csdn.net/download/u012121105/87522731
http://www.w-s-a.com/news/202835/

相关文章:

  • 坪山网站设计的公司网站 seo 设置
  • 济南网站设计公司排名如何免费注册网站域名
  • 网站开发分工甜妹妹福利wordpress
  • 网站中英文要怎么做网站建设的策划文案
  • 合肥推广外包公司佛山seo
  • 成都网站品牌设计策划课堂网站开发
  • 做直播网站赚钱公司网站空间怎么续费
  • 企业网站制作公司有哪些太原网站建设 thinkphp3.2
  • 云集网站哪个公司做的百度竞价排名怎么做
  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作
  • 网站备案系统验证码出错的解决方案任丘建设银行网站
  • 个人博客建站wordpress叮当app制作
  • 网站式的公司记录怎么做二手书网站策划书
  • 营销型网站的建设重点是什么帝国程序和WordPress
  • 正能量网站推荐不需要下载巴中网站建设开发公司
  • 学生模拟网站开发西安seo平台
  • 免费的app推广平台免费网站seo
  • 建一个个人网站网站建设中小企业广西
  • 优惠券网站做淘客违规吗个人建网站运营.
  • 旅游网站制作建设华大基因 网站建设
  • sem推广竞价托管南京seo网站优化
  • 网站优化网站建站教程网站建设 成都
  • 网站 配色表html代码在线
  • 城乡和建设部建造师网站众筹平台网站建设
  • 外贸网站模板免费下载微网站制作软件
  • 一个新的网站怎么做宣传技术先进的网站建
  • 福建网站建设有限公司需求网站