android框架

看完这篇再不会 View 的动画框架,我跪搓衣板

a 夏天 提交于 2020-02-24 11:59:08
引言 众所周知,一款没有动画的 app,就像没有灵魂的肉体,给用户的体验性很差。现在的 android 在动画效果方面早已空前的发展,1.View 动画框架 2.属性动画框架 3.Drawable 动画。相比后后两者,View 动画框架在 Android 的最开始就已经出现,即有着非常容易学习的有点,却也有着用法太死的毛病,但对于初学者而言,足够实现各种酷炫的效果了。 ​ 组成 对于 View 的动画框架而言,最常见的有: AlphaAnimation(透明度动画)、 RotateAnimation(旋转动画)、 ScaleAnimation(缩放动画)、 TranslateAnimation(平移动画)四种类型。 除此之外还提供了动画集合类(AnimationSet),用于将各种基本动画组合起来进行显示。 使用 对于现在市面上的书籍 📚,基本都是在活动代码中,一步一步设置透明度,运行时间。来对控件添加动画框架。所以我这里还是只讲 Java 代码添加那就太无聊了。所以这里我向大家介绍的使用方法,除了基本的以代码形式添加之外,更有 xml 文件的格式书写,并在活动中直接引用🚰的骚操作。 如果大家对其他动画方式,比如 Drawable 动画啊,属性动画啊感兴趣,欢迎查看我以后的博文。 既然是要在 xml 中配置,那我献给大家介绍下, xml 中各种属性的意义:在 /res 下建立 名为

Android动画View Animation与Drawable Animation

旧时模样 提交于 2020-02-24 11:58:23
Animations 一、 Animations 介绍 Animations是一个实现 android UI界面动画效果的 API, Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 二、 Animations 的分类 Animations从总体上可以分为两大类: 1.Tweened Animations :该类 Animations提供了旋转、移动、伸展和淡出等效果。 Alpha——淡入淡出, Scale——缩放效果, Rotate——旋转, Translate——移动效果。 2.Frame-by-frame Animations :这一类 Animations可以创建一个 Drawable序列,这些 Drawable可以按照指定的时间间歇一个一个的显示。 三、 Animations 的使用方法(代码中使用) Animations extends Object implements Cloneable 使用 TweenedAnimations的步骤: 1.创建一个 AnimationSet对象( Animation子类); 2.增加需要创建相应的 Animation对象; 3.更加项目的需求,为 Animation对象设置相应的数据; 4.将 Animatin对象添加到 AnimationSet对象当中; 5

Android学习笔记05:布局Layout介绍

不羁的心 提交于 2020-02-24 01:07:19
1.Layout介绍   为适应各种界面风格,满足开发的需要,Android提供了5种布局方式,分别是LinearLayout(线性布局)、FrameLayout(框架布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),通过这5种布局我们可以在手机屏幕上随心所欲的摆放各种控件。   在Android的系统中,可视化的控件是从Android.view.View类中继承而来。控件的创建方式通常有2种方式:   1、通过在xml布局文件中配置控件的各种属性,然后在程序中加载要使用的控件。   2、直接在程序中设置控件属性,并加载控件。   xml布局文件是android系统中定义控件的常用方法,这样做的目的与好处是显而易见的,使程序代码与图形UI分离,方便代码及图形UI的各自维护。   xml布局文件必须包含在res/layout目录中,且每一个xml布局文件的根节点可以是任意的视图标签。为xml文件布局中的标签指定id时需要使使用如下形式:   android:id=“@+id/标签名称”   每一个标签的id都会在R类中生成与之对应的变量,该标签名称便保存在R文件当中了。   如果是要使用xml布局文件,则需要在oncreate方法中使用setContentView来加载指定的xml布局文件。加载方法如下:

移动端跨平台开发框架对比分析

纵饮孤独 提交于 2020-02-23 13:13:39
前言 现在主流的移动开发平台是Android和iOS,每个平台的开发技术和运行方式都不一样,大家都是针对每个平台开发应用。自然会存在一个移动应用产品要针对每个平台开发一套的现象,这样带来的问题则是开发成本高、效率低下,进而会有进行跨平台开发的需求。从最开始以Cordova为基础的Hybrid混合开发技术,到React Native的桥接技术,到现在新兴的Flutter技术,跨平台开发技术一直在演进。 目前主流跨平台框架简介 Cordova Cordova 是Apache旗下的一个开源的移动开发框架。它允许你使用WEB开发技术(HTML5、CSS3、JavaScript)进行跨平台开发。应用在每个平台的封装器中执行,并且依赖规范的API对设备进行高效的访问,比如传感器、数据、网络状态等等。 Cordova通过对HTML、CSS、JS封装为原生APP。Cordova将不同设备的功能,按标准进行了统一封装,开发人员不需要了解设备的原生实现细节,并且提供了一组统一的JavaScript类库,以及为这些类库所使用的设备相关的原生后台代码。因此实现了“write once, run anywhere”(一次开发,随处运行)。 Cordova前身是PhoneGap。2011年Adobe公司将其收购对其开源,并捐献给Apache,重新命名为Cordova。 React Native React

AppWidgetProvider 应用

会有一股神秘感。 提交于 2020-02-23 09:01:39
AppWidgetProvider 应用 1、AppWidget 框架类 2、在 Android 如何使用 Widget 3、AppWidget 框架的主要类介绍 4、DEMO 讲解 1、AppWidget 框架类 1、AppWidgetProvider :继承自 BroadcastRecevier , 在AppWidget 应用 update、enable、disable 和 delete 时接收通知。其中,onUpdate、onReceive 是最常用到的方法,它们接收更新通知。 2、 AppWidgetProvderInfo:描述 AppWidget 的大小、更新频率和初始界面等信息,以XML 文件形式存在于应用的 res/xml/目录下。 3、AppWidgetManger :负责管理 AppWidget ,向 AppwidgetProvider 发送通知。 4、RemoteViews :一个可以在其他应用进程中运行的类,向 AppWidgetProvider 发送通知。 2、在 Android 如何使用 Widget 1、长按主界面 2、之后弹出一个对话框,里面就有android 内置的一些桌面组件 3、AppWidget 框架的主要类介绍 1) AppWidgetManger 类 bindAppWidgetId(int appWidgetId,

ReactJS+ReactNative笔记

依然范特西╮ 提交于 2020-02-23 04:46:13
1.移动App第1天 什么是混合移动App开发【重点】 苹果上的软件是如何开发出来的:使用的是 OC、或者使用Swift这门语言 安卓平台上的软件又是如何开发出来的:使用安卓相关的语言开发的,Java,安卓的控件进行开发 苹果和安卓平台上共有的软件是如何开发出来的:腾讯招两套开发人员【开发组】,手机京东 前端移动 App(Application)开发技术,去开发手机端的应用程序; 前端的混合移动App开发技术,并没有使用 苹果 或 安卓 官方推荐的 开发平台和开发方式,而是抛弃了 官方提供的方式,使用 前端的独有的技术进行移动App开发体验; 什么是移动App开发:通俗的理解,就是把开发Web网站的技术(HTML+CSS+JS),通过某种方式,移植到移动App开发上进行使用,这种利用Web开发技术进行移动端开发体验的方式,叫做混合移动App开发! 关于移动App开发,需要知道的几个概念: 原生开发:它的英文单词是(NativeApp),指的就是使用 IOS、Android 官方提供的工具、开发平台、配套语言进行 手机App开发的方式; 混合开发:(HybirdApp)就是使用前端已有的技术,HTML + CSS + JS ,然后再搭配一些相关的打包编译技术,就能够开发出一个手机App,安装到手机中进行使用; 什么是App:App是(Application的缩写),意思是

移动端测试 - appium for windows

拥有回忆 提交于 2020-02-22 18:29:26
由 扯淡篇 我们知道了关于appium在windows下的出装顺序: Python环境:Python3.6.6, 或者别的3.x版本。你可以在下面的百度云链接中下载,推荐Python3.5以上,为了方便编写代码,还需要安装PyCharm IDE(可选,也可以vs code)。 node.js。 Java环境:要求是java jdk 1.8及以上。 appium。 Android SDK。 手机/模拟器:可以是夜神模拟器或者是其他的。 Appium-Python-Client。 我的环境是: win 10 专业版 Java jdk1.8 Python3.6.6 PyCharm2018.1 小米手机5S/夜神模拟器6.0.7.5 appium:1.7 appium for win 全家桶百度云链接: 链接: https://pan.baidu.com/s/1q7uEdv9YHxG-LRzJ20I3cQ 提取码:iq52 开始安装吧。 Python for Windows 参考: https://www.cnblogs.com/Neeo/p/10864123.html#python Node.js for Windows 参考: https://www.cnblogs.com/Neeo/articles/11637320.html JAVA JDK for Windows 参考:

android studio 混淆

好久不见. 提交于 2020-02-22 13:58:09
这篇文章等是跟大家分享一在Android studio 进行代码混淆配置。之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用。不管是.cfg文件还是.txt文件都一样。 先给大家贴一个混淆模板吧。注释很清楚。是我目前一个项目用的proguard.cfg配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137

Android混淆打包

送分小仙女□ 提交于 2020-02-22 13:37:44
一、为什么要混淆 为了避免apk在发布后被用户通过反编译拿到源代码和资源文件,然后修改资源和代码之后就变成一个新的apk。而经过混淆后的APK,即使被反编译,也难以阅读,注意混淆不是让apk不能阅读,而是加大阅读的难度,为了避免劳动成果被窃取,也避免出现安全漏洞和隐患,所以在apk发布之前一定要进行混淆。 二、混淆的原理 Java是一种跨平台、解释型语言,Java源代码编译成的class文件中有大量包含语义的变量名、方法名的信息,很容易被反编译为Java源代码。为了防止这种现象,我们可以对Java字节码进行混淆。混淆不仅能将代码中的类名、字段、方法名变为无意义的名称,保护代码,也由于移除无用的类、方法,并使用简短名称对类、字段、方法进行重命名缩小了程序的大小。 ProGuard由shrink、optimize、obfuscate和preverify四个步骤组成,每个步骤都是可选的,需要哪些步骤都可以在脚本中配置。参见ProGuard官方介绍。   压缩(Shrink):默认开启,侦测并移除代码中无用的类、字段、方法和特性,减少应用体积,并且会在优化动作执行之后再次执行(因为优化后可能会再次暴露一些未使用的类和成员)。     -dontshrink 关闭混淆   优化(Optimize):默认开启,分析和优化字节码,让应用运行的更快。     -dontoptimize 关闭优化

Android研究-Android 画图方式[zz]

时光毁灭记忆、已成空白 提交于 2020-02-22 03:51:27
GUIer们应该对Android的GUI实现这有所好奇,肯定也是经过一番搜索的,比如先找TextView这种简单的,draw接口了、onDraw接口了、paint接口了、onPaint接口了,通过这些接口进一步找到发现Drawable的draw接口实际绘制的,接着发现是Canvas接口绘制的,接着发现是jni到了SkCanvas这样的本地接口了,SkCanas原来是skia(类似cairo)这个纯2D少量3D图形引擎的核心类,问题就转移到了skia机制和实现身上了. 本文是一位大牛的文章,介绍了你想知道的Android的图形方面的东西,很全,很系统,地址: http://blog.csdn.net/arm10504/article/details/5483971 Android apk 里面的画图分为2D和3D两种:2D是由 Skia 来实现的,也就是我们在框架图上看到的SGL,SGL也会调用部分 opengl 的内容来实现简单的3D效果;3D部分是由OpenGL|ES实现的,OpenGL|ES是Opengl的嵌入式版本,我们先了解一下Android apk的几种画图方式,然后再来来看一看这一整套的图形体系是怎么建立的。 首先画图都是针对提供给 应用 程序的一块内存填充 数据 , 没去研究过一个Activity是否就对应着底层的一个surface