android框架

[Android]使用JsBridge配合WebView初始化每一个页面

核能气质少年 提交于 2019-11-28 08:12:54
现在有一个需求:根据页面传来的json,初始化android界面中的toolbar。 那么就来使用JsBridge吧 implementation 'com.github.lzyzsd:jsbridge:1.0.4' // js和android交互框架 导入JsBridge项目,在布局中加入一个webview,然后来到代码: bridgeWebView= activity.findViewById(R.id.webView); bridgeWebView.setWebChromeClient(chromeClient); // 按需求配置 BridgeWebViewClient webViewClient = new BridgeWebViewClient(bridgeWebView){ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); progressBar.setVisibility(View.VISIBLE); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished

[ 转载 ] Android设计模式详解

非 Y 不嫁゛ 提交于 2019-11-28 05:29:31
从Android再来认识23种设计模式 ReadyShow 关注 0.2 2018.01.06 23:18* 字数 3855 阅读 2584 评论 0 喜欢 20 概况来看本文章的内容 创建型:5个 单例模式 Builder 原型模式 工厂方法 抽象工厂 行为型: 11个 策略模式 状态模式 观察者模式 中介者模式 访问者模式 迭代器模式 模板方法 备忘录模式 命令模式 解释器模式 职责链模式 结构型:7个 组合模式 代理模式 装饰模式 外观模式 享元模式 桥接模式 适配器模式 关于面向对象 面向对象的六大原则 谈到设计模式,不得不说说面向对象的六大原则 1. 单一原则 单一原则通俗的讲就是一个类只表达一个概念、一个方法只做一件事情。将一组相关性很高的函数、数据封装到一个类中。换句话说,一个类应该有职责单一。 2. 开闭原则 开闭原则就是一个类对于扩展是开发的,但是对于修改是封闭的。这也是六大原则中最难的,通常开闭都是短暂的美好,但在业务升级与拓展的状态下,原理的开闭是无法满足。即使是这样,也要尽可能的扩展而不是修改。 3. 里氏替换原则 所有引用基类的地方必须能透明地使用其子类对象 。看着定义很是抽象,但是通俗的理解就是由子类实例化的父类引用,在使用这个引用时,感觉就像是使用了父类一样。一个简单的例子: public class T{ private class A{...}

Android 中的content(个人见解)

女生的网名这么多〃 提交于 2019-11-28 02:16:19
Context是什么? 1) Context是一个抽象类,其通用实现在ContextImpl类中。 2) Context:是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下: 启动Activity 启动和停止Service 发送广播消息(Intent) 注册广播消息(Intent)接收者 可以访问APK中各种资源(如Resources和AssetManager等) 可以访问Package的相关信息 APK的各种权限管理 从以上分析可以看出,Context就是一个对APK包无所不知的大管家,大家需要什么,直接问它就可以了。(这篇文章是我在csdn中的谋篇文章看到的,总结的不错) 在上面我们看到了conntent的功能和作用下面就是我自己的一些理解 context 在很多地方都会用到,入Dialog、RecyclerView的onCreateView方法中的 View view = Layout.from(parent.getcontent()).inflate.(R.layout.Recycle,parent,flase) 和Intent intent = new Intent(context,NewsContentActivity.class)等这些方法都会用到content, 1) 创建Application

Android中用Application类实现全局变量

久未见 提交于 2019-11-27 23:03:25
最近在项目中,遇到了application这个类,开始不知道有什么用,经过学习后才知道它的用途也蛮大的,举个例子,如果想在整个应用中使用全局变量,在java中一般是使用静态变量,public类型;而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context。 我们先看看一下这段说明: Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml's <application> tag, which will cause that class to be instantiated for you when the process for your application/package is created. 意思是:application类是一个基类,这个基类的作用是为了获取整个应用程序的状态。你可以自己继承或实现这个类,当你要使用自己拓展的application类的时候,只要在manifest.xml中的<application

Android JNI和NDK关系

痞子三分冷 提交于 2019-11-27 23:03:05
1、什么JNI Java Native Interface(JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机(VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。 上面过程分为2个部分: 第一、用C语言生成一个库文件。 第二、在java中调用这个库文件的函数。 2、NDK NDK全称:Native Development Kit。 NDK是一系列工具的集合。 * NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 * NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。 * NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。 个人理解,NDK就是能够方便快捷开发.so文件的工具。 JNI的过程比较复杂,生成.so需要大量操作,而NDK就是简化了这个过程。 3、java中调用.so文件代码 其中,在java中加载库文件的代码如下: System.loadLibrary(*.so的档案名); 例如

jQuery Mobile Web App with Google Maps Based on Android

萝らか妹 提交于 2019-11-27 22:43:03
一、引言 本项目将开发一个集成了 G oogle Maps JavaScript API V3 的 jQuery Mobile Web App , 并通过 Phonegap 开发框架将应用部署到本地 Android 平台上运行。 二、开发环境搭建 1. 环境下载 : Eclipse: Juno Service Release 2 (4.2.2) PhoneGap 2.6.0 : Cordova (已更新至2.7.0) Android SDK : Bundle for Windows (已更新至r22) 其它(如JDK、ADT等)环境及基本部署不是本项目重点将不再赘述,请参考其他开发文档。 2. Eclipse Phonegap 构建: Step 1 : 新建项目: Android Application Project -> Compile With : API 15 Android 4.0.3 , 此时的项目名会默认为生成的APK包名,也可以之后通过右键单击项目->重构->重命名修改。 我们可以参考已经下载解压后的 Phonegap 文件中自带的教程(如下图所示): Step 2: 在项目根目录的 assets 文件下新建一个 www 文件夹用来存放网站的内容。 Step 3: • 将 phonegap-2.6.0/lib/android 文件夹下的 cordova-2.6.0

2019.8.19课程设计情况

≡放荡痞女 提交于 2019-11-27 22:00:48
组员:崔俊杰、胡骏 组名:帅小伙高全力 项目名:点我出行 一、当天完成的工作: 今天早上与崔俊杰组成了小组,并初定项目为智能交通综合平台研究,我们希望完成一个手机APP包含地图,天气信息,路况等各种信息。下午我们开始第一步安装Android Stdudio。 二、第二天的计划: 我们准备做一个程序大体的框架,并做出流程图;同时熟悉Android Studio的开发环境,构思出一个大体的可视化框架。 三、每日小结: 今天第一天还是遇到了比较多的问题的   1.第一次使用Android Studio,花费了很长时间配置程序。   2. Android Studio启动时过于消耗内存,使用时有卡顿现象,使用分辨率较小的虚拟机进行仿真。   3.决定使用java语言进行开发。 来源: https://www.cnblogs.com/hj609/p/11379613.html

[转]探索 Android 内存优化方法

喜夏-厌秋 提交于 2019-11-27 21:58:25
前言 这篇文章的内容是我回顾和再学习 Android 内存优化的过程中整理出来的,整理的目的是让我自己对 Android 内存优化相关知识的认识更全面一些,分享的目的是希望大家也能从这些知识中得到一些启发。 Android 应用运行在 ART 环境上,ART 是基于 JVM 优化而来的,ART 优化的目标就是为了让 Android 应用能更高效地在 Android 平台运行。 不严谨地说,Android 应用就是一个在 Android 平台运行良好的 Java 程序,承载着 Android 应用的 ActivityThread 同样有 main 方法。 因此只有了解了 Java 的内存管理机制,才能更好地理解 Android 的内存管理机制,如果你对这一块还不熟悉的话,可以看我的上一篇文章 《 Java 内存管理机制 》。 本文的内容可分为下面两部分,大家可以根据自己的需要选择性地阅读。 第一部分 讲的是 Android 内存管理机制相关的一些知识,包括 Dalvik 虚拟机和 ART 环境等。 第二部分 讲的是内存问题的解决与优化方法,包括 Memory Profiler、LeakCanary 工具的使用方法。 1. 为什么要做内存优化? 内存优化能让应用挂得少、活得好和活得久 。 挂得少 “挂”指的是 Crash,假如一个满分的应用是 100 分,那么一个会 Crash

一个Android 架构师的成长之路

心已入冬 提交于 2019-11-27 21:51:45
前言 总所周知,当下流行的编程语言有Java、PHP、C、C++、Python、Go等。其中,稳坐榜首的仍然是Java编程语言,且在以面向对象思想占主导的应用开发中,Java往往成为其代名词。Java语言的背景强大,开发者众多,一直发展都不错。从普遍的企业的角度来看,存在的问题是:后台被认为是技术核心,客户端却被认为技术含量不高,甚至小企业会让后台人员顺便开发简单的客户端,或者让后台的架构师管理客户端几个人。事实上,客户端技术和后台技术的侧重点完全不同,连编程语言都不同(Android使用Kotlin编程语言的逐渐普及)。另外,后台的人跟用户相对离得太远,而客户端是直接面向用户的,与产品人员沟通更直接。所以,我认为企业产品真的是为了给用户用,那么选客户端背景的人员去做移动架构师更好一点。 一、移动架构师职位介绍 (1)移动架构师公认的职位描述是什么? 事实上并没有非常准确的职位描述。不过我可以尝试给出了一个: 设计当前架构。包括新技术方案的制定或评审。 改进过去架构。根据业务的发展或者技术债务的原因,重构当前技术方案并且推进实施。 前瞻未来架构。技术方案调研和分析,随时准备好对新技术的使用。 推进技术方案实施。解决实施过程中具体的技术问题。 技术分享和培训。推进技术交流和新技术的使用。 人员的招聘。技术面试。 (2)移动架构师是否还要日常编码,如果需要,比例是多少?

2019.8.19课程设计报告

北城以北 提交于 2019-11-27 21:50:00
一、当天完成的工作: 今天早上与室友胡骏组成了小组,并初定项目为智能交通综合平台研究;下午为了实现手机端APP,开始安装Android Studio 二、第二天的计划: 对智能交通项目做一个大体的框架,并作出流程图;同时熟悉Android Studio的开发环境,构思出一个大体的可视化框架;如有余力,可以去搜索高德地图的导航、地图和定位API 三、每日小结: 今天虽然任务不大,但是遇到的问题不少。 ①:安装SDK和.gradle的时候,版本匹配问题,我们采取下载多个SDK来和当前编译器相适应 ②:下载速度问题:因为墙的原因,下载速度很慢,虽然试过自己插入包,但效果不明显,所以只是等待软件自行下载 ③:Android Studio过于消耗内存,使用时有卡顿现象,所以用了分辨率较小的虚拟机 ④:放弃Kotlin,改用Java 来源: https://www.cnblogs.com/RecKono/p/11379119.html