打开android studio -> Configure->SDK Manager 安装target的android版本 26 ? ?...继续在项目目录下执行打包命令 ionic cordova build android 如果build过程中出错 可以检测gradle版本 gradle -v 如果版本过低 ,比如低于4.10 可以升级版本
---- title: 安卓基础干货(三):安卓数据库的学习 copyright: true categories: 安卓基础干货 date: 2018-01-10 19:35:26 tags: [Android...helper = new DBHelper(this, "account.db", null, 1); onCreate是在数据库创建的时候调用的,主要用来初始化数据表结构和插入数据初始化的记录...onUpGrade是在数据库版本升级的时候调用的,主要用来改变表结构 2、调用db = helper.getWritableDatabase(),得到数据对象 数据库sql语句的增删改查 创建表结构:...; 使用cd切换到数据库文件所在的目录; 使用sqlite3 数据库文件的名称打开数据; 使用增删改查语句操作数据库。...//3、告诉系统数据库结束 db.endTransaction(); } listview的使用(重点) ListView :用来在界面上显示数据列表。
夜神安卓7系统的charles证书导入。由于用户安装的外部证书不被信任,所以需要把SSL证书安装到安卓系统证书目录里。...输入 openssl x509 -inform PEM -subject_hash_old -in charles.pem 执行后打印的结果中,第一行的90e59ded复制一下。...注意格式,你修改为 xxx.0 ---- 三:导入设备 不管啥方法,把证书传进设备的 /sdcard/ 文件下。...命令: mv xxx.0 /system/etc/security/cacerts/ 有可能会执行失败,说只读之类的Read-only file system 可以先执行命令:mount -o rw...---- 四:证书授权 给证书权限的执行命令:chmod 777 /system/etc/security/cacerts/xxx.0 重启手机:reboot 证书导入完成,配置下wifi代理就可以正常抓包了
cd db2move 连接数据库:db2 connect to CREDITDB CREDITDB是你的数据库名称,连接时需要修改成自己的 导出数据库数据:db2move CREDITDB...步执行失败,可以尝试这个命令,含@分隔符:db2look -d edstest -u db2inst2 -td @ -e -o db2look.ddl 3.导入数据库 你先将导出的数据库文件上传到你需要导入库的服务器上面...的db2inst1和db2look.ddl文件中的SCHEMA是否一样(db2look.ddl文件开头中有CREATE SCHEMA "db2inst1";) 修改好db2look.ddl后我们现在开始导入表结构...: cd 到数据库文件目录下(该目录下包含db2look.ddl),然后执行db2 -t -vf db2look.ddl 注意:该命令要执行三遍,为什么要执行三遍,因为db2在执行这个命令的过程中可能会遗漏一些表...,执行三遍是为了确保所有表都会被创建 导入数据库数据: 刚才我们已经导入好表结构了,现在需要导入表数据 我们需要进入到db2move目录下,cd .
本文作者:x-encounter (信安之路作者团队成员 & 信安之路病毒分析小组组长) 该 APK 样本是通过国外的下载站进行投放的,伪装成正常的软件并在特定情况下启动后门模块获取用户信息,VT 报读情况如下...接下来进行逆向分析,主要目的是搞明白怎么进行免杀的,通过什么机制触发后门的,触发后门的条件是什么。 使用两个集成工具,jeb 和 jadx,我会在分析的过程中比较两款工具孰优孰劣。...Sqlserver 远程数据库,并且还使用了本地 sqlite 数据库保存一些其他信息。...主要操纵本地数据库中的数据将其拷贝到 SD 卡中,做一个备份 转到 recev2 类中的 onReceive 方法,还是连接远程 SqlServer 服务器 ?...重新更新一下远程和本地的数据库 小结 通过在正常的软件中注册广播,并设置时钟来实现恶意代码的执行,在 onReceive 广播回调函数中使用强力混淆,干扰分析人员,并结合远程 Sqlserver 数据库操作实现敏感数据不落地即可实现有效的免杀
---- 破解过程(支付宝支付方式) 在图中可看到支付宝支付、微信支付的弹框,我们就搜索支付宝支付(unicode编码后)得到结果 ? 双击进入对应代码中,找到如下代码。 ?...搜索结果有很多,那么根据以上的结果猜测是图中圈出的文件。打开果然是这个文件。 ? 红色框中的一行判断代码删除就可以了。...---- 破解过程(微信支付方式) 我们先点击微信支付按钮后取消会出现支付失败字样的提示消息,现在搜索‘支付失败的Unicode编码’,得到下面的结果。 ?...注意此处找到3个与微信支付相关的(图中框起来的3个文件),点进去以后选择onResp方法。 ?...---- 游戏下载地址 注意此版本是第一次破解的,只破解了支付宝支付的方式,未破解微信支付的方式。
大家好,又见面了,我是你们的朋友全栈君。...二、实现步骤 使用ExpandableListView主要有三个步骤: 编写父布局 编写子布局 适配器的书写 1.编写父布局parent.xml 父布局其实很简单,就是两个并排的TextView,用于展示课程名字和分数...getGroupView(),返回外面那层布局的视图,也就是各种课程的名称以及分数: getChildView(),返回子布局里面的视图,也就是每门学科的详细信息: GradeAdapter的详细代码为...Grade,Grade是一个封装好的关于成绩信息的类,Grade.java代码为: package com.example.edm.Student; public class Grade {...,大家在用这个demo的时候只要自己定义一个list,然后在里面手动添加一些数据就好了。
为什么需要广播接受者 广播: 1、电台:发送一定频道的广播消息,50mhz; 2、收音机:调整到一定频道,接收广播消息; android应用程序里面的电台:系统内置的一个服务,会把事件(电量不足、电量充满...、开机启动完成)作为一个广播消息发送其他的接收者; android应用程序里面的收音机:自己写的一个广播接收者的一个类。...,系统会自动启动广播接收者的进程,调用onReceive方法,接收消息。...2.3的模拟器,4.0之后版本没有卸载、挂载、移除SD卡的功能。...就能接收到的广播; //发送一个广播消息(无序广播) sendBroadcast(intent); 有序广播: 当广播把消息发送出去后,消息会根据广播接收者的优先级从高到低一级一级地下发消息。
windows下的服务:没有界面、长期运行在后台的应用程序; android下的服务:应用程序的一个组件,没有界面activity,长期运行在后台; 进程:是应用程序运行的载体。...,它会按照进程的优先级,从低到高一级一级的杀死进程,直到内存空间被清理的差不多。...绑定服务调用服务方法的过程 通过bindservice方式实现调用服务里面业务逻辑方法: 步骤: 1、在服务类中创建一个中间人MyBinder,继承了Binder,Binder实现了IBinder接口:...(重点) 本地服务:写在自己的应用程序的工程里的服务 ,使用自己应用程序的进程运行这个服务; 远程服务:写在别的应用程序的工程里的服务,使用别的应用程序的进程运行这个服务(安装在同一个手机上的应用程序)...; IPC: Inter Process Communication(进程间的通讯); aidl: Android Interface definition language 安卓接口定义语言; aidl
本篇文章主要说一下月日历数据、月视图绘制以及点击日期的实现。 数据 数据部分,网上能找到比较完整的工具类,主要是根据本月和上月的天数以及本月第一天是周几来计算。...首先计算上月日期: 由本月的第一天是周几和上个月的天数,得出上月的日期的显示 int temp = lastMonthDays - firstDayOfWeek + 1;//上个月的天数减去本月第一天周几再加上...1 再计算本月日期:本月内的数据根据该月的天数跑循环。...四个点确定一个矩形,可以在纸上画一下大致的图案,大致画个一两行矩形,应该就找到规律了,感觉有点像以前上学时做的找规律的数学题。...: 1、是不是本月的数据(用颜色区分本月和其他月的数据) 2、是不是今天 3、有没有选中的日期 4、显示不显示农历 其中今天和选中的日期用圆环表示,就需要在当天和选中的日期的矩形中绘制圆环。
标签的值就它的界面的标题 4、activity的label标签的值就它的桌面快捷图标的名称 5、application中的label标签和activity中的label标签不是一个概念,application...中的label表示应用程序的名称,activity中的label标签表示的是它的界面的名称。...uri = intent.getData(); 意图设计的目的 意图设计的目的:解耦,实现应用程序的高内聚、低耦合。...onStart:当界面可见的时候调用 onResume 按钮可以被点击的时候 onPause 按钮失去焦点的时候: onStop 界面不可见的时候调用: onDestroy 销毁activity...android:launchMode="singleTop" 如果任务栈的栈顶存在这个要开启的activity,不会重新的创建activity,而是复用已经存在的activity。
方法和单击事件的方法都是运行在主线程中的。...当我们的Android应用程序的进程一创建的时候,系统就给这个进程提供了一个Looper,Looper是一个死循环,它内部维护这个一个消息队列,Loop不停地从消息队列中取消息(Message),取到消息就发送给了...网图片查看器(重点) 1、发送请求:GET 2、接收服务器端返回的响应数据 使用代码实现的步骤: 1、创建URL,打开一个HTTP的连接; 2、设置请求头信息:GET(GET、POST) 3、接收服务器端返回的响应数据...从Androi4.0开始,google更加UI界面运行的流畅性,强制要求访问网络的操作不能在主线程中进行,只能在子线程中进行。.../src/com文件夹拷到自己的代码的src目录中 2、调用image.setImageUrl(item.getImage())方法加载图片 imageLoader 开源的项目 不重复发明轮子
多种媒体的综合。图片、音乐、视频。 计算机表示图形的方式 1、bmp 以高质量保存所有类型的图片,用于计算机。...每个像素点的颜色是一个RGB,使用6个十六进制的数值来表示。 文件头信息占用的数据大小。 体积比较大。 2、jpg 以良好的质量保存图片,用于计算机、电子邮件或网络。...jpg 工业图形的压缩算法,类似rar的算法。人眼识别精度有限,把相邻空间内类似的颜色使用同一个颜色来表示。 体积减小,失真。...RGB ARGB 32 应用程序在启动时系统为它创建一个进程,系统为每个进程创建dalvik虚拟机(模拟器设置的VM Heap),当图片的大小大于虚拟机的堆内存空间时,就内存溢出(内存泄露);...解决办法:缩放图片加载到内存 步骤: 1、获得设备屏幕的分辨率; 2、得到原图的分辨率; 3、通过比较得到一个合适的比例值; 4、按照比例值缩放图片 5、把图片显示在imageview 缩放图片并加载到内存中
大家好,又见面了,我是你们的朋友全栈君。 Android手机USB调试在哪?安卓手机如何打开USB调试模式?...如果我们要将安卓手机连接到电脑上,从而传输文件、下载应用或ROOT等,都需要打开手机的USB调试模式。...安卓系统的版本有很多,它们的打开方法也各不相同,下面给大家介绍各版本安卓手机打开USB调试模式的方法。...4、再返回设置菜单界面选择开发者者选项; 5、点击打开右上角的开关,即可打开 USB调试模式; 6、打开USB调试模式后,下拉手机通知栏,将手机上连接电脑的USB模式设置为“仅充电”模式或“媒体设备...上述便是安卓手机打开USB调试模式的方法,需要将手机连接电脑下载应用或干嘛的,可以按照小编描述的方法来打开USB调试模式。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
”); SQLiteDatabase db = dbHelper.getReadableDatabase(); //或者使用静态方法获取 SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase...,使用静态方法中参数中study.sqlite是包名,sqlite_joyous_db是数据库名 二、操作数据库方法 execSQL()执行带占位符的SQL语句或者SQL insert()执行插入数据...”); SQLiteDatabase db = dbHelper.getReadableDatabase(); db.insert(“user”, null, values); 更新 DatabaseHelper...dbHelper = new DatabaseHelper(Sqlite.this, “sqlite_joyous_db”); SQLiteDatabase db = dbHelper.getReadableDatabase...”); SQLiteDatabase db = dbHelper.getReadableDatabase(); db.delete(“user”, “id=?”
1.下载gradle 你导别人项目是需要下载相同的gradle包的,下面这个网站有,注意一般是下载对应版本的“gradle-x.x-all.zip”格式 https://services.gradle.org.../distributions/ 比如下载2.4版本的就要找2.4版本的all 2.改变gradle的环境变量配置 先在我的电脑右键 注意是在系统变量里改 改gradle的文件夹存放名字,我都装在一个文件夹下了...这里应该是引用这个目录下的debug.keystore文件而没有找到引起的 7.安卓模拟器怎么上网 方法一 PC机可以上网,PC机上面的Android模拟器不能上网。...其实只要使模拟器跟自己的PC在同一个网段内就行了: 首先,如果没有配置sdk的环境变量的,那么在CMD命令下进入sdk安装路径的platform-tools目录下(D:\Program Files\...获得百度的 ip 地址 然后在浏览器中输入 https:// 百度的 ip 地址 看看是否能够访问 如果能够访问 那么你就遇到了和我一样的问题 请继续看 打开你的 sdk 目录中的 emulator
近日,一个名为Xavier的安卓系统广告库木马被发现,它会在用户不知情的情况下窃取和泄露用户的信息,同时还可以在root过的安卓设备上静默安装任何APK。...Xavier的具体行为取决于下载的代码和代码中的网址,可被指定服务器远程设置。 该木马的发展变化过程如下图: ? Xavier是AdDown木马家族的一员,该系列木马已经在互联网中存在超过两年。...除了收集和泄露用户信息之外,这一木马还能悄无声息地在已经root过的安卓设备中安装其他APK。 ? 该木马会以明文形式与命令和控制(C&C)服务器进行通信,但所有的常量字符串都在代码中被加密过。 ?...卡所属国家 产品名称 生产商ID SIM卡运营商 服务ID 系统语言 分辨率 型号 操作系统版本 设备名称 设备ID 已安装的APP 安卓ID 邮箱地址 ?...防范建议: 避免像Xavier这样的恶意软件,最简单的方法是:不下载任何来源不明的APP,包括在诸如Google Play这样正规的应用商城中的APP。
答案是通过 ClassLoader 的加载机制。安卓虚拟机也有类似这样的机制,为了能编写出更高效的代码,我们有必要了解下ClassLoader 的加载机制。...本文先会分别详解安卓的 ClassLoader。 01 Java 的 ClassLoader 大多数安卓应用程序是由Java语言开发的。所以有必要先了解Java 的 ClassLoader。...Java加载类的过程主要由系统自带的三个类加载器依次被执行来加载类的。有图有真相,下图能让人一目了然: ? 1)Bootstrap ClassLoader: 最顶层的加载类。...安卓虚拟机运行加载的不是class文件,而是dex文件。dex文件是编译工具把所有的class文件进行合并,优化,然后生成的。...同样一张图让你明白类加载的过程: ? 1)ClassLoader ClassLoader 是一个抽象类。它是所有类加载器的父类。
本章学习adt安卓打包过程、adb指令学习、并通过adb将打包的APK发给设备 1.打包 在eclipse中已经帮我们实现打包了. 具体打包流程如下: ?...,应用中的各个组件) uncompiled resources文件 (未被编译的文件,比如视频等) META-INF签名文件夹 ecilipse打包过程如下: 点击export signed application...package(导出带签名的APP包,签名的作用是避免盗版): ?...然后选择要导出的项目,点击next,如下图所示: ?...唯一性是通过(包名+签名识别)的.
} @Override public Uri insert(Uri uri, ContentValues values) { SQLiteDatabase db...id = db.insert("person", "personid", values);//得到记录的id String strUri = uri.toString();...(uri)) { case PERSONS: num = db.update("person", values, selection, selectionArgs...为10的记录的name字段, person/10/name 要操作person表中的所有记录,可以构建这样的路径:/person 要操作xxx表中的记录,可以构建这样的路径:/xxx 当然要操作的数据不一定来自数据库...用户使用系统自带的短信程序发送短信,程序会通过ContentProvider把短信保存进数据库,并且发出一个数据变化通知,使用ContentObserver对数据变化进行监听,在用户发送短信时,就会被
领取专属 10元无门槛券
手把手带您无忧上云