Androi基础 第三天

androi的AT指令 记录调试4g查到的AT指令 一、一般命令 1、AT+CGMI: 请求得到移动设备生产厂商的标识。 2、AT+CGMM: 请求得到移动设备模块的标识。 3、AT+CGMR: 请求得到改订的系统版本,修改级别和日期,以及其他相关内容。 4、AT+CGSN: 得到GSM移动设备的唯一标识,比如IMEI(国际移动设备标识)序列号。 5、AT+CSCS 选择TE(操作终端)字符集设定情况,使其能够和ME设备匹配,TA能够在TE和ME之间进行正确的字符转换。 6、AT+CIMI 获得IMSI。用来读 阅读详情

数据存储

文件存储
sharedPerference
数据库
数据库需求

有很多结构类似的数据,增删改查.
Sqlite

开源项目,c,嵌入式轻量级数据库.
数据库的创建

1,创建一个类继承 SQLiteOpenHelper
2,在oncreate方法里面创建一张表 db.execSQL去创建一张表
3, 生成数据库文件
public class MyDataBaseOpenHelper extends SQLiteOpenHelper {

/**
 * @param context  上下文
 * @param test.db 数据库文件的名称
 * @param null 默认游标工厂 从数据库文件的头部开始的
 * @param 1 version 数据库的版本号 最小是1
 */
public MyDataBaseOpenHelper(Context context) {
    super(context, "test.db", null,1);
    // TODO Auto-generated constructor stub
}

  当数据库第一次被创建的时候调用的方法.这个方法只会执行一次, 
  一般在这个方法里面初始化数据的表结构.

@Override
public void onCreate(SQLiteDatabase db) {


    System.out.println("数据库 oncreate");

    db.execSQL("create table student (_id integer primary key autoincrement, name varchar(20), sex varchar(30) )");
}
/**
 * 当数据库需要被更新的时候调用的方法
 * 数据库只能升级不能降级
 * @param oldVersion 旧的数据库的版本
 * @param newVersion 新的数据库的版本
 */
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {


}
}


然后在activity里面创建数据库文件
MyDataBaseOpenHelper helper = new MyDataBaseOpenHelper(this);
//下面这一行代码执行了 数据库才会被创建
SQLiteDatabase db = helper.getReadableDatabase();

数据库的创建 oncreate方法调用几次 (一次)

onUpgrade方法什么时候调用? (版本号发生变化的时候)

在new SqliteOpenHelper的时候数据库文件会被生成吗? (不会)

那么什么时候生成? (helper.getWritableDatabase(),或者hepler.getReadableDatabase())

数据库文件在哪里? /data/data/databases

数据库的增删改查

sql语句的方式,对数据库进行增删改查
增

insert into student (name,phone) values (‘张三’,’110’)
删

delete from student where name=’张三’
改

update student set phone =’119’ where name=’张三’
查

select * from student where name=?
用android API的方式增删改查(推荐)
用最普通的sql语句和用android提供的api查询修改数据有什么区别? (一个是有返回值的,一个没有!!)

增

ContentValues values =new ContentValues();
values.put(“name”, name); //key “name” 代表着数据库表中的列明,value 就是对应的插入进去的值
values.put(“sex”, sex);
//student 参数1,是要插入数据的表名 ,参数2 null 表示着当数据为空的时候,在列里面显示大写的NULL,表示一个空数据
long result = db.insert(“student”, null, values); //组拼sql语句实现的.带返回值

扩展一下:
1,数据库事务的使用,可以试验一下开启事务和不开启事务插入1000条数据的时间差异。
2,可以试试在用另一个类继承SqliteOpenHelper,去使用一下,看能不能创建多个数据库?
3,怎么用命令查看自己的数据库信息?首先用adb shell进入模拟器,然后用 cd /data/data/包名/databases/ 最后sqlite3 ** (数据库文件名字)
删

SQLiteDatabase db = helper.getWritableDatabase();
//参数1,表明 参数2,条件语句 参数3,条件参数的值
int result = db.delete(“student”, “name=?”, new String[]{name});
改

ContentValues values = new ContentValues();
values.put(“sex”, newsex);
//参数1,表名 参数2,更改的数据 参数3,条件参数的值 参数4 ,条件值
int result = db.update(“student”, values, “name=?”, new String[]{name});
查

//参1 表名,参2 要查询的列名,参3 条件语句,参4 条件的值 ,参5 groupBy 分组, having 分组之后在过滤, orderBy 排序
Cursor cursor = db.query(“student”, new String[]{“sex”}, “name=?”, new String[]{name}, null, null, null);
boolean result = cursor.moveToNext();
if(result){
sex = cursor.getString(0);
}
数据库事务:保证一组操作要么同时成功,要么同时失败.

SQLiteDatabase db = helper.getWritableDatabase();
db.beginTransaction(); // 开启事务
try {
// 模拟转账的操作
db.execSQL(“update account set money=money-100 where name=’zhangsan’”);
db.execSQL(“update account set money=money+100 where name=’lisi’”);
db.setTransactionSuccessful();// 设置事务执行成功

} finally {
    //在finally代码块里面执行,保证这段代码一定会执行
    db.endTransaction();
}

然后用android提供的api对数据库的数据进行增删改查

用最普通的sql语句和用android提供的api查询修改数据有什么区别? (一个是有返回值的,一个没有!!)
ContentValues values =new ContentValues();
values.put(“name”, name); //key “name” 代表着数据库表中的列明,value 就是对应的插入进去的值
values.put(“sex”, sex);
//null 表示着当数据为空的时候,在列里面显示大写的NULL,表示一个空数据
long result = db.insert(“student”, null, values); //组拼sql语句实现的.带返回值

扩展一下:
1,数据库事务的使用,可以试验一下开启事务和不开启事务插入1000条数据的时间差异。
2,可以试试在用另一个类继承SqliteOpenHelper,去使用一下,看能不能创建多个数据库?
3,怎么用命令查看自己的数据库信息?首先用adb shell进入模拟器,然后用 cd /data/data/包名/databases/ 最后sqlite3 ** (数据库文件名字)
doc窗口 cmd窗口修改编码

(utf-8)

chcp 65001
(gbk)

chcp 936
用线性布局,或者其他布局直接addView会有什么缺点?

占用太多的内存,导致程序内存溢出(OOM)异常
ListView

是系统给我们提供的一个可以显示很多个item的控件. 这个控件合理的控制了界面的显示,即使有1000000万个item要显示他也能扛得住
listview设计的思想是MVC

M: model 数据模型 对应的是activity下的List集合或者数组等。。
V: View 界面展现 对用的就是ListView本身
C: controller 控制器 对应的是各种Adapter
使用步骤

1,在布局xml文件声明listview控件

【Androi】安卓发展历程详解 从最初的安卓1.0到今天的安卓14,安卓操作系统经历了十余年的不断演进与发展。安卓不仅在功能和性能上取得了巨大的进步,还通过开放性和多样化的生态系统赢得了全球用户的广泛认可。在未来,随着技术的进一步发展,安卓系统必将在移动计算领域继续发挥重要作用,推动更多创新和变革。 阅读详情

相关推荐

计算机视觉——SIFT特征匹配

文章目录一、SIFT特征检测原理1.1基本思想1.2二、SIFT特征检测图片兴趣点三、SIFT特征检测描述子匹配四、输入图片检测与之 一、SIFT特征检测原理 1.1基本思想 1.2 二、SIFT特征检测图片兴趣点 代码: 检测结果: 三、SIFT特征检测描述子匹配 四、输入图片检测与之 ...

weixin_43869874的博客 3855

Androi移动开发基础

Android移动开发基础第十一章简略笔记

weixin_52602285的博客 1267

SAP批量程序(一)-静态批量EX,FX和期间批量MB,WB和TB

SAP批量程序(一)-静态批量和区间批量

weixin_38974136的博客 5478

Androi开发基础

Android系统包说明 android.app :提供高层的程序模型、提供基本的运行环境 android.content :包含各种的对设备上的数据进行访问和发布的类 android.database :通过内容提供者浏览和操作数据库 android.graphics :底层的图形库,包含画布,颜色过滤,点,矩形,可以将他们直接绘制到屏幕上. android.location :定位和

Jonny 459

LCD工程师必看:MIPI DSI的LP/HS模式切换全流程拆解(附高通平台实测)

本文为LCD工程师深度解析MIPI DSI接口中低速(LP)与高速(HS)模式切换的全流程。文章结合高通平台实测波形,从协议状态机、时序关键参数到实战调试案例,系统拆解了模式切换的本质、协同机制及常见问题排查方法,重点阐述了LP模式在低功耗控制与HS模式在高速数据传输中的核心作用与切换时序。

weixin_29240711的博客 547

[华为ensp]双核心的园区网

(给部分只会emm......借鉴的朋友提个醒,在group-member e0/0/2 to e0/0/20是所选,所以到了p l t那会给2-20端口都配置上trunk,别紧张,不是你问题)完成上述配置后,PC1可以ping通HTTP2服务器,Client1可以访问HTTP2服务器的HTTP站点,如果不能就要检查上述是否正确。本次实验主要目的是采用双核心的冗余网络,采用MSTP和VRRP技术,在核心层交换机上配置SC1上配置OSPF协议。SC1交换机上配置VRRP。在SC1上配置DHCP。

2301_78859499的博客 1416

Androi 应用开发 活动Activity

可以通过startActivity(new Intent(源页面.this, 目标页面.class))来跳转到新页面,调用finish方法即可关闭当前页面。

abcdefg1289的博客 1296

从M.2到E1.S,从U.2到E3.S:数据中心SSD接口的世代更迭与选择逻辑

本文深入探讨了数据中心SSD接口从M.2、U.2到E1.S、E3.S的演进历程与选型逻辑。通过对比分析不同接口的物理规格、性能表现和散热设计,揭示了EDSFF接口在数据中心环境中的优势,包括更高的部署密度、更好的散热效能和更强的扩展能力。文章还提供了针对不同应用场景的SSD选型建议,帮助IT决策者优化存储架构。

weixin_33816300的博客 417

Androi天气

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

一只小菜鸡 857

关于UMI设备采集数据的模型训练方法

模仿学习如专家模型、VLA模型,ACT、DP、openpi等算法模型训练时,都是使用的机器人的绝对位姿或关节角;而UMI记录的轨迹是相对于UMI起始点的,可以理解为是相对于起点的绝对增量,对应到机器人中就是相对于末端TCP的增量。在用模型进行训练时,当然可以,但这样进行模型训练的话达不到跨本体的能力,因为模型本身还是学习的基于机器人base坐标系的绝对位姿关系,倘若用这种方式进行处理,则UMI可以理解为是一个遥操的方法,本质还是记录的机器人的state。在看了和。

boss-dog 421

【C++实战(62)】从0到1:C++打造TCP网络通信实战指南

本文是 C++ 网络编程实战专栏第 62 篇,聚焦 TCP 客户端与服务端开发。先阐述 TCP 协议特点、核心 API 及阻塞与非阻塞 IO 区别,打牢基础;再详解 TCP 服务端初始化、客户端连接处理与数据收发,以及客户端初始化、异常处理和协议设计;最后通过简易聊天系统实战,介绍线程池应用、协议解析及稳定性测试,助力开发者掌握 TCP 网络编程实操技能。

邓邓子的博客 999

androi 适配

关于mate适配的问题   屏幕上拥有的像素的总数。大部分情况下分辨率都被表示为“宽度×长度”,但分辨率并不意味着屏幕长宽比。在Android系统中,程序一般并不直接处理分辨率。系统会根据屏幕本身的尺寸与密度特性,自动载入对应的资源,并把它们从逻辑像素转换成屏幕上的物理像素。以屏幕分辨率为基础,沿屏幕长宽方向排列的像素。密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很

junjunjunjunjun的专栏 588

GEE案例教程:融合Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据,构建完整的洪水监测与影响评估工作流

本文介绍了一个专为巴基斯坦哈扎拉分区设计的洪水监测系统,该系统整合了Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据等多源遥感数据。系统通过VV极化SAR数据的水体提取算法(阈值-13dB)实现洪水范围监测,结合10米分辨率的光学影像进行可视化验证,并利用100米分辨率人口数据评估受灾人口。系统提供完整的技术实现,包括研究区加载、遥感数据处理、日期选择界面和洪水变化检测等功能模块,为灾害应急响应提供科学依据。

此星光明博客 191

androi 图片自由拼接

package com.test; //import android.R.integer; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphi

To lose to pursue. 1403

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Androi连接MQTT

链接

weixin_47301719的博客 2204

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Androi常用的UI布局

Androi常用的UI布局 概述: 布局本身是不能显示任何数据的,它可以包含一些子视图,并控制子视图的布局 常用的Layout — LinearLayout —RelativeLayout —FrameLayout —ListView —GridView LinearLyout: 线性布局:用来控制其子View以水平或垂直方式张开显示。 重要属性:1,orientation(方向)2,layout...

本人随手记录,内容只是个人看懂程度,对内容有任何疑问请勿打扰 290

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Androi15 WiFi 框架

关于Android15 WiFi流程

u010386121的博客 922

MySQL与Androi

1.背景介绍 MySQL与Android之间的关联是非常重要的,因为它们在现代应用程序开发中扮演着关键角色。MySQL是一种流行的关系型数据库管理系统,而Android是一种流行的移动操作系统,广泛用于智能手机和平板电脑等设备。 在这篇文章中,我们将探讨MySQL与Android之间的关联,以及如何将这两者结合使用。我们将从背景介绍、核心概念与联系、核心算法原理和具体操作步骤、数学模型公式详细...

AI天才研究院 354

androi

这几天没事做了一个简单的菜单布局,在这里我没有添加任何的功能只是做了一个简单的布局。看着还可以,就想着与大家分享一下。 代码如下:     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/LinearLayout1"     android:layout_width="match_parent"

stodge_rman的专栏 485

Androi布局以及基本button

1、LinearLayout线性布局:它包含的子控件将以横向或竖向的方式排列(通过android:orientation属性来控制),按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失 2、Tablelayout表格布局:Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件,当为Ta

Ant19961117的博客 434

Androi基础 第二天

测试 测试:现在多用云测试 Testin 黑盒测试 不知道软件的源代码. 白盒测试 知道应用程序的源代码 测试的力度 单元测试 junit test 集成测试 intergration test 系统测试 system test 测试的程度 压力测试 (pressure test) 冒烟测试 (smoke test) Android下的一个测试命令 adb shell ...

requestWindowFeature的博客 235

Androi Studio问题汇总

Androi Studio问题汇总 1.点击Run时出现Gradle project sync failed. Please fix your project and try again. 方案一: File -> Invalidate caches / Restart Shutdown Android Studio Rename/remove .

Justin2107的专栏 2898

Androi实现三个页面跳转

Androi实现三个页面跳转

weixin_70649498的博客 767

Androi系统设置Table

Settings.System extends Settings.NameValueTable java.lang.Object    ↳ android.provider.Settings.NameValueTable      ↳ android.provider.Settings.System Class Overview S

1636

androi 系统优化

最近手头上有一款基于android4.0下开发的PND产品,同时也在这款机器上开发了WINCE平台的,毕竟在PND这块大多数用的还是WINCE平台,又便宜又稳定。然后对比发现开机速度、流畅度和wince比起来。。就不多说了,你懂得的, O(∩_∩)O 毕竟android比wince复杂多了,同时对于PND产品来说很多功能都是不需要的,然后想想得对当前系统优化,至少不能让用户体验说这款机器很卡什么的

huabinbin110的专栏 842

androi 线性布局实例

代码: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_

weixin_41069726的博客 149
上一篇: Androi基础 第二天
下一篇: Android基础 第四天
灞特衲毅夫
博客等级 码龄10年 3粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值