android开发

Android AndroidManifest.xml详解

ぐ巨炮叔叔 提交于 2020-03-18 08:28:04
AndroidManifest.xml简述: AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试) 属性:<manifest> // xmlns:android 定义android命名空间,一般为 http://schemas.android.com/apk/res/android , Android中各种标准属性能在文件中使用,提供了大部分元素中的数据 <manifest xmlns:android=" http://schemas.android.com/apk/res/android "     //指定本应用内java主程序包的包名,它也是一个应用进程的默认名称 package ="com.woody.test" //表明数据权限,因为默认情况下,Android给每个APK分配一个唯一的UserID,所以是默认禁止不同APK访问共享数据的。若要共享数据,第一可以采用Share

AndroidManifest.xml文件详解(application)

你离开我真会死。 提交于 2020-03-18 08:26:57
http://blog.csdn.net/think_soft/article/details/7557101 语法(SYNATX): <application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:backupAgent="string" android:banner="drawable resource" android:debuggable=["true" | "false"] android:description="string resource" android:enabled=["true" | "false"] android:hasCode=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:isGame=["true" | "false"] android:killAfterRestore=["true" | "false"] android:largeHeap=["true" | "false"] android:label="string

AndroidManifest.xml文件综合详解

人盡茶涼 提交于 2020-03-18 08:26:41
一,重要性AndroidManifest.xml是Android应用程序中最重要的文件之一。它是Android程序的全局配置文件,是每个 android程序中必须的文件。它位于我们开发的应用程序的根目录下,描述了package中的全局数据,包括package中暴露的组件 (activities, services, 等等),以及他们各自的实现类,各种能被处理的数据和启动位置等重要信息。 因此,该文件提供了Android系统所需要的关于该应用程序的必要信息,即在该应用程序的任何代码运行之前系统所必须拥有的信息。一个典型的Android应用程序的结构如下图所示: 二,主要功能它指定了该应用程序的Java包:该包名作为应用程序的一个独特标识。 它描述了应用程序组件:该应用程序由哪些activity,service,broadcast receiver和content provider组成。它指定了实现每个组件的类以及公开发布它们的能力(例如,它们能持有哪个Intent信息)。这些声明使Android系统知道这 儿有什么组件以及在什么条件下它们可以被载入。 它决定那些进程将容纳应用程序组件。 它声明了本应用程序必须拥有哪些许可,以便访问API的被保护部分,以及与其他应用程序交互。 它也声明了其他应用程序在和该应用程序交互时需要持有的许可。 它列出了Instrumentation类

Android通过tcpdump手机抓包,wireshark分析

主宰稳场 提交于 2020-03-17 12:29:17
最近做项目需要抓包分析网络是走的H2,还是H1,或者Quic,在此做一个总结,以便后面方便查阅。 首先需要手机root,这样可以配置手机的host文件,以及把文件推送到手机系统目录下面。 1. 首先下载tcpdump 地址: http://www.strazzere.com/android/tcpdump 2. 安装adb并且配置 在Android开发adb是必须要安装的,这里就不做过多的赘述。 3. 把下载的tcpdump推送到手机的/data/local目录下 命令:adb push 在电脑上存储的路径 / tcpdump / data / local / (手机中的目录) 目录一定要对。 4. 进入手机 命令:adb shell 5. 授权限 su 此步骤,如果不需要授权su,可以直接略过。 6. 进入到手机/data/local目录下 命令:cd / data / local 7. 开始抓包 . /tcpdump - i any - p - s 0 - w / sdcard / capture . pcap capture . pcap 为包名,在手机的sdcard目录下面 control + c 结束 8. 把生成的文件到处到电脑上 adb pull /sdcard/capture.pcap (电脑上面目录)d:\ 拷贝包。 9. 下载wireshark

Android 将Bitmap 保存到本地

亡梦爱人 提交于 2020-03-17 09:44:27
Overview 图片是一个可以使你程序变得比较的美观,所以我们会在我们的软件中使用图片。但是对于图片的操作也是比较的复杂。今天,我们学习一下如是将我们的图片保存到我们的本地。 开发环境 Android Studio 3.6 Android 11 Mac OS 10.15 模拟机 Google Pixel3 API R 然后学习一下如何来完成我们的功能 按照国际管理,我们先来看一下我们的代码: /** * Bitmap 帮助类之一 */ class BitmapUtils { /** * Save Bitmap * * @param name file name * @param bm picture to save */ static void saveBitmap(String name, Bitmap bm, Context mContext) { Log.d("Save Bitmap", "Ready to save picture"); //指定我们想要存储文件的地址 String TargetPath = mContext.getFilesDir() + "/images/"; Log.d("Save Bitmap", "Save Path=" + TargetPath); //判断指定文件夹的路径是否存在 if (!FileUtils.fileIsExist

Unity Mono脚本 加密

混江龙づ霸主 提交于 2020-03-17 08:11:12
加密环境 引擎版本:Unity3D 5.3.4 及更高版本 ( 使用Mono而并非IL2CPP ) 操作系统:CentOS 6.2(Final) 加密环境:Android、IOS(暂定) 加密对象:C#源代码(dll文件) 解密方法:libmono.so (重点:加入解密算法并重编译此文件) 加密的目地 .NET Reflector等反编译工具 无法通过对dll反编译得到源码 注意事项 dll的加密算法和libmono.so解密算法一致 思路分析 重点:我们需要对libmono.so重编译,加入我们的解密算法。 准备环境 编译系统:linux或mac os 我的编译环境:centos 6.2 Final,建议在linux或mac os中编译 libmono.so linux安装运行库 git 在编译过程中,可能需要通过git获取某些运行库。 查看是否安装git: git –version CentOS7 yum 安装git https://git-scm.com/book/en/v2/Getting-Started-Installing-Git 其它package autoconf automake bison gcc gettext glib >= 2.0 libtool make perl glib >= 2.0 这个一直安装失败 centos安装软件 在root权限下

七、图形与图像处理(1)

旧时模样 提交于 2020-03-17 07:44:05
1 使用简单图片 2 绘图 3 图形特效处理 4 逐帧(Frame)动画 5 补间(Tween)动画 6 属性动画 7 使用SurfaceView实现动画 1、Bitmap和BitmapFactory Bitmap代表一张位图,BitmapDrawable里封装的图片就是一个Bitmap对象。开发者为了把一个Bitmap对象包装成 BitmapDrawable对象。可以调用BitmapDrawable的构造器: // 把一个Bitmap对象包装成BitmapDrawable对象 BitmapDrawable drawable = new BitmapDrawable(bitmap); 如果需要获取BitmapDrawable所包装的Bitmap对象,则可调用BitmapDrawable的getBitmap(),如下代码所示: // 获取一个BitmapDrawable所包装的Bitmap对象。 Bitmap bitmap = drawable.getBitmap(); 除此之外,Bitmap还提供了一些静态方法来创建新的Bitmap对象,例如如下常用方法。 ● createBitmap(Bitmap source, int x, int y, int width, int height): 从源位图source的指定坐标点(给定x、y)开始,从中"挖取"宽width

android学习笔记2---android开发环境及程序目录结构

别等时光非礼了梦想. 提交于 2020-03-17 07:36:40
Android的开发环境,主要是两个组件,Android Software Developer Kit(Android软件开发工具包)和Eclipse(开发编辑工具,提供很多功能)。 要安装Eclipse,首先要安装Java Developer Kit(JDK,Java开发者工具包)和Java Runtime Environment(JRE,Java运行时环境)。 可以到 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 网站下载最新版的jdk1.7。 下载完成后安装JDK和JRE。并配置好环境变量。 win7系统如下: 1.右键点击计算机--属性--高级系统设置--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_15(具体的java安装路径) 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3. 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔

Android开发切换host应用

↘锁芯ラ 提交于 2020-03-17 07:36:08
由于在工作过程中常需要切换手机的host来测试不同服务器上的接口,所以想到需要这么个软件。 SwitchHost在PC上是一款很好用的修改Host的软件,手机上也需要这么一款App(当然手机需要已经ROOT),于是就尝试做这么个手机应用SwitchHost,主要的功能是要能在不同的Host方案之间进行切换。 代码在git上:https://github.com/jianfengye/Android_Works/tree/master/SwitchHost 里面的bin文件夹有apk,可以直接安装。 需求 它的UI设计大概是这样的(用的都是系统自带的控件) 分析这个功能: 1 可以增加一个host方案 2 可以修改一个host方案 3 可以设置某个host方案为当前方案 4 可以删除某个host方案 这篇记录下开发这个的过程中遇到的问题: 1 如何获取ROOT权限 由于Android的host是在/system/etc/hosts,所以需要使用root来进行文件替换。(当然前提是你的机器是已经可以root了) 获取ROOT权限使用这么一个句子: Process process = Runtime.getRuntime().exec("su"); 但是每次调用这个语句的时候都会出现"该应用已经获取了ROOT权限",所以这个process对象有必要使用单例模式来存储。 还有一点

解决 Android 10 获取不到定位信息的问题

回眸只為那壹抹淺笑 提交于 2020-03-17 07:35:18
1 前言 最近国内很多手机厂商都推送基于 Android 10 开发的自家系统了。之前其实已经对公司的APP进行适配了,但还是发现了新坑。那就是定位的问题。已经申请了定位权限,但是依旧无法进行定位。我用的是高德的定位,项目工程的 targetSdkVersion 为26。经过不断尝试,最后才发现,竟然要开启手机的定位服务,才能获取到定位信息。 2 解决方案 方案的流程图如下所示: 如何申请定位权限,这里不展开讲。高德定位是怎么使用的,这里也不展开讲,想了解的直接去高德开放平台看就是了,文档写得很详细的。“判断是否已开启定位服务”和“如何跳转到系统的定位服务页面”,这两块接下来展开讲一讲。 2.1 判断手机定位服务是否开启 /** * 判断定位服务是否开启 * * @param context 上下文 * @return true:开启;false:未开启 */ public static boolean isLocationEnabled(Context context) { int locationMode = 0; String locationProviders; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { try { locationMode = Settings.Secure.getInt