搜档网
当前位置:搜档网 › linux下使用SP_Flash_tool刷机

linux下使用SP_Flash_tool刷机

linux下使用SP_Flash_tool刷机
linux下使用SP_Flash_tool刷机

linux下使用SP_Flash_tool刷机

2016年5月21日16:19

安装流程如下:

1、解压SP_Flash_Tool_Linux_v5.1336.00.100_Customer.zip

ubuntu@ubuntu:~$ unzip SP_Flash_Tool_exe_Linux_64Bit_v5.1520.00.100.zip

2、配置驱动

首先安装libusb-dev这个包:

ubuntu@ubuntu:~$ sudo apt-get install libusb-dev

安装成功之后,继续以下操作:

在/etc/udev/rules.d下新建两个文件:

51-android.rules 和51-MTKinc.rules,数字value不重要,只要大于其他的就可以的,该rule文件加载的时候,会根据该值从小到大依次添加,最后加载的会覆盖之前添加的规则。

ubuntu@ubuntu:~$ sudo vi /etc/udev/rules.d/51-android.rules

该文件用于adb调试,内容如下:

SUBSYSTEM=="usb",

ACTION=="add",SYSFS{idVendor}=="0e8d",SYSFS{idProduct}="0003",MODE="0777"

SUBSYSTEM=="usb",

ACTION=="add",ATTRS{idVendor}=="0e8d",ATTRS{idProduct}="0003",SYMLINK+="android_adb"

ubuntu@ubuntu:~$ sudo vi /etc/udev/rules.d/51-MTKinc.rules

该文件用于下载,内容如下:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0e8d",SYSFS{idProduct}="0003",MODE="0777"

SUBSYSTEM=="usb",

ACTION=="add",ATTRS{idVendor}=="0e8d",ATTRS{idProduct}="0003",SYMLINK+="android_adb"

KERNEL=="ttyACM*",MODE="0777"

(KERNEL=="ttyACM*", MODE="0666"是给flash_tool运行过程中生成的设备文件增加权限,这样不需要管理员权限即可运行。)

注:idVendor和idProduct通过lsusb查看,关机状态下查看

通过以上查看到,我增加的设备是:

Bus 003 Device 002: ID 17ef:6019 Lenovo

其中,idVendor为:0e8d,idProduct为0003

给文件添加权限:

ubuntu@ubuntu:~$ sudo chmod a+rx /etc/udev/rules.d/51-android.rules

ubuntu@ubuntu:~$ ubuntu@ubuntu:~$ sudo chmod a+rx /etc/udev/rules.d/51-MTKinc.rules

重新驱动udev服务:

ubuntu@ubuntu:~$ sudo /etc/init.d/udev restart

插上手机,终端打印出识别到的信息,手机识别成功

Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解

Android学习笔记---SQLite介绍,以及使用Sqlite,进行数据库的创建,完成数据添删改查的理解 17_创建数据库与完成数据添删改查--------------------------------------1.SQLite介绍:最大特点是,无数据类型; 除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据。在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER n n 、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型 n n 只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s) 等数据类型,只不 n n 过在运算或保存时会转成对应的五种数据类型。 SQLite最大的特点是你可以把各种类型的数n n 据保存到任何字段中,而不用关心字段声明的数据类型是什么。例如:可以在Integer类型的 n n 字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。n n n 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段 n n 保存除整数以外的数据时,将会产生错误。 另外, SQLite 在解析CREATE TABLE 语句时, n n 会忽略 CREATE TABLE 语句中跟在字段名后面的数据类型信息,如下面语句会忽略 name字段 n n 的类型信息: CREATE TABLE person (personid integer primary key autoincrement, name varchar n n (20)) SQLite可以解析大部分标准SQL语句,如:查询语句:select * from 表名 where 条件子句 group by 分组字句 having ... order byn n n 排序子句如:select * from person n n n n select * from person order by id desc n n n n select name from person group by name having count(*)>1 ---------------------------------------------------------------------------2.a.分页SQL与mysql类似,下面SQL语句获取5条记录,跳过前面3条记录n n select * from Account limit 5 offset 3 或者 select * from Account limit 3,5 n b.select * from Account limit 3,5,指的是跳过前面的3条记录,然后获取5条记录n c.select * from Account limit 3,5是select * from Account limit 5 offset 3语句 n n 的简写版 -------------------------------------------------------------------------------n 3.常用操作: a.插入语句:insert into 表名(字段列表) values(值列表)。如: insert into person nn n n (name, age) values(‘传智’,3) b.更新语句:update 表名 set 字段名=值where 条件子句。如:update person set name=n n n n'credream ‘where id=10 c.删除语句:delete from 表名 where 条件子句。如:delete from person nwhere id=10 -------------------------------------------------------------------------------2.虽然无数据类型,但是建议加上,这样可以增加可读性,支持标准sql,oracle中的不行 ---------------------------------------------------3.获取添加记录后的自增长的ID值:select last_insert_rowid(); -----------------------------------------------------------4.在android中开发数据库应用: n a.创建数据库:以前在javaee时候,需要手工数据,但是android应用,需要运行在用户的 n n 手机上,所以,android应用,要有自动创建数据库功能,当第一次使用软件的时候 n n 就创建数据库----------------------------------------5.关于数据库自动创建的详细介绍: 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很 n n 多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建出 n n 应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据 n n 表结构进行更新。那么,我们如何才能实现在用户初次使用或升级软件时自动在用户的手机 n n 上创建出应用需要的数据库表呢?总不能让我们在每个需要安装此软件的手机上通过手工方 n n 式创建数据库表吧?因为这种需求是每个数据库应用都要面临的,所以在Android系统,为我 n n 们提供了一个名为SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库版 n n 本进行管理来实现前面提出的需求。n -----------------------------------------6.SQLite数据库添加,删除,改查操作 n A.创建数据库:SQLiteOpenHelper .getWritableDatabase ()或getReadableDatabase() n n 可以创建数据库7.创建完成以后可以使用SQLITE Expert软件打开生成的数据库n 可以看到除了生成的自己的需要的表之外,还生成了一张:android_metadata表: n 如果在sqlite中使用数据库一定会有一张android_metadata表,用来登记用户的 n 使用语言:zh_cn -----------------------------------------------------n b.数据库自动创建的过程及方法详细介绍: n n我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在 n n 很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建 n n 出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数n n 据表结构进行更新。那么,我们如何才能实现在用户初次使用或升级软件时自动在用户的手 n n 机上创建出应用需要的数据库表呢?总不能让我们在每个需要安装此软件的手机上通过手工 n n 方式创建数据库表吧?因为这种需求是每个数据库应用都要面临的,所以在Android系统,为n n 我们提供了一个名为SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库n n 版本进行管理来实现前面提出的需求。n -------------------------------------------8.详细介绍: 为了实现对数据库版本进行管理,SQLiteOpenHelper类提供了两个重要的方法,分别是 n n onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, intn n n newVersion),前者用于初次使用软件时生成数据库表,后者用于升级软件时更新数据库表结n n 构。当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获n n 取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生 n n 成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用 n n ,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。 n n onUpgrade()方法在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号, n n 而数据库的版本是由程序员控制的,假设数据库现在的版本是1,由于业务的变更,修改了数n n 据库表结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为n n 了实现这一目的,可以把原来的数据库版本设置为2(有同学问设置为3行不行?当然可以,如 n n 果你愿意,设置为100也行),并且在onUpgrade()方法里面实现表结构的更新。当软件的版本 n n 升级次数比较多,这时在onUpgrade()方法里面可以根据原版号和目标版本号进行判断,然后 n n 作出相应的表结构及数据更新。 getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的 n n SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库n n 的磁盘空间满了,数据库就只能读而不能写,倘若使用的是getWritableDatabase() 方法就 n n 会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了 n n ,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。 ------------------------------------------------------------------------9.创建数据库的代码: n a.创建项目:DBSQLIte n b./DBSQLIte/src/com/credream/service/DBOpenHelter.java n n package com.credream.service; n n import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; n n public class DBOpenHelter extends SQLiteOpenHelper { //父类没有默认构造器,需要显示调用 public DBOpenHelter(Context context) { super (context, "credream.db", null, 1); //数据库创建完成后,默认会保存在<包>/database/文件夹下 //当修改版本号时候,会触发:onUpgrade方法 //第二个:指定数据库名称, //第三个:游标工厂,用来迭代,查询后的结果集,null代表使用系统默认的 n n 游标工厂//版本号,大于0 n } /** n* 这个方法是在数据库第一次被创建的时候调用的 n*/ @Override public void onCreate(SQLiteDatabase db) { //SQLiteDatabase这个类,封装了增删改查操作,也叫做数据库操作实例 db.execSQL("CREATE TABLE person (personid integer primary keyn n n autoincrement, name varchar(20))"); //这里也可以不写name的数据类型,因为sqlite是数据类型无关的,就是写n n 了varchar(20),也可以写入超过20的内容 n n } /** n* 当数据库的版本号变更的时候被调用 n*/ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("alter table person add phone varchar(12) null"); n n } n n } --------------------------------------------------------2.在清单文件中写入测试环境 n n n n n n n n n n ---------------------------------------------------- 3./DBSQLIte/src/com/credream/test/PersonServiceTest.java package com.credream.test; n n import com.credream.service.DBOpenHelter; n n import android.test.AndroidTestCase; n n public class PersonServiceTest extends AndroidTestCase { //创建数据库,在<包>/database/ public void testCreateDB(){ DBOpenHelter dbOpenHelter=new DBOpenHelter(getContext()); dbOpenHelter.getWritableDatabase(); n } n n } -------------------------------------------------------4.选择方法开始测试,然后,在data/data/<包>/database/下 n 查看并用sqlite打开生成的数据库检查是否正确---------------------------------------------然后将版本号,改成2,然后再次执行,看到,表已经被更新,增加了一列phone -----------------------------------------------5.了解sqlite工作的原理: n DBOpenHelter dbOpenHelter=new DBOpenHelter(getContext()); dbOpenHelter.getWritableDatabase(); n 打开getWritableDatabase();代码:

DataStageV8.5配置连接oracle操作手册

DataStageV8.5配置连接oracle 操作手册 编制:长安铃木信息系统课 王川 2012-5-7

目录 1概述 (4) 1.1编写目的 (4) 1.2系统配置 (4) 1.3事前准备 (4) 2开始安装客户端 (4) 3配置DATASTAGE 环境 (6) 4配置测试 (7)

文档版本记录 版本编号变更内容变更人日期

DataStageV8.5配置连接oracle 操作手册 1概述 1.1 编写目的 DataStage V8.5 在安装后默认支持DB2 数据库,为了实现抽取ORACLE 数据库,需要配置服务器端。 1.2 系统配置 DataStage V8.5 Suse linux server sp1 1.3 事前准备 1、安装XFTP:传递文件。 2、开启SSH服务:终端控制。 3、Oracle官网下载11g client。 https://www.sodocs.net/doc/5814017846.html,/technetwork/database/enterprise-edition/downloads/112010-linuxsoft- 085393.html 2开始安装客户端 1、FTP上传linux_11gR2_client.zip ,并解压至TMP目录。 2、创建组和权限。 groupadd oinstall groupadd dba useradd –g oinstall –G dba –m oracle passwd oracle mkdir –p /home/oracle/ chown -R oracle:oinstall /home/oracle/ 3、修改环境配置文件。 /etc/sysctl.conf 加上如下内容 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 net.ipv4.tcp_wmem = 262144 262144 262144 net.ipv4.tcp_rmem = 4194304 4194304 4194304

linux常用操作命令.doc

1 linux常用操作命令 linux系统中通过命令来提高自己的操作能力,下面由小编为大家整理了linux常用操作命令的相关知识,希望大家喜欢! linux常用操作命令一、常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录 touch 创建空文件 2 echo 创建带有内容的文件。

cat 查看文件内容 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除 find 在文件系统中搜索某文件 wc 统计文本中行数、字数、字符数 grep 在文本文件中查找某个字符串rmdir 删除空目录 3 tree 树形结构显示目录,需要安装tree包

pwd 显示当前目录 ln 创建链接文件 more、less 分页显示文本文件内容head、tail 显示文件头、尾内容 ctrl+alt+F1 命令行全屏模式 linux常用操作命令二、系统管理命令 stat 显示指定文件的详细信息,比ls更详细who 显示在线登陆用户 whoami 显示当前操作用户 hostname 显示主机名 4 uname 显示系统信息

top 动态显示当前耗费资源最多进程信息 ps 显示瞬间进程状态ps -aux du 查看目录大小du -h /home带有单位显示目录信息 df 查看磁盘大小df -h 带有单位显示磁盘信息 ifconfig 查看网络情况 ping 测试网络连通 netstat 显示网络状态信息 man 命令不会用了,找男人如:man ls clear 清屏 alias 对命令重命名如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit 5 kill 杀死进程,可以先用ps 或top命令查看进程的id,然

centos中GIT服务器搭建及使用密钥连接

GIT服务器搭建方法,及windows下使用SSH密钥进行GIT连接 一桶咖啡20131030 1.安装CENTOS6 2.关闭SELinux #vi /etc/selinux/config 3.安装GIT #yum install git 4.创建GIT裸版本库 $cd ~ $git init --bare my.git 5.建立密钥 注意一定要在服务器端生成密钥对,因为TortoiseGit中使用的PUTTYGEN 生成的密钥格式和CENTOS中的OPENSSH使用的密钥格式不同。 在服务器上如下操作: $ cd ~ $ ssh-keygen -t rsa $ chmod 700 ~/.ssh $ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys 6.使用ROOT配置SSH参数 #vi /etc/ssh/sshd_config 开启: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys 7.重新启动服务器

8.客户端安装win版GIT和TortoiseGit 下载地址: https://www.sodocs.net/doc/5814017846.html,/p/msysgit/downloads/list?q=full+installer+official+git https://www.sodocs.net/doc/5814017846.html,/p/tortoisegit/wiki/Download?tm=2 9.将服务器上~/.ssh/id_rsa私钥文件复制到客户端。 10.从开始菜单TortoiseGit项中找到Puttygen,点击启动该程序。 11.用Puttygen程序LOAD你下载到本地的私钥文件,后会出现格式转化的 提示。

Android实验报告_基于SQLite的通信录

第一次实验Android界面设计 一. 实验目的及实验环境 1. 实验目的 1)掌握SQLiteOpenHelper类结构 2)掌握基于SQLite数据库的应用开发过程 3)掌握Content Provider发布数据的方法 4)掌握Content Resolver获取数据的方法 2.实验环境 系统开发平Android Studio 3.0 系统开发平台:Android 7.1 运行平台:Windows10 x64 运行环境:https://www.sodocs.net/doc/5814017846.html, Framework SDK 2.0 二. 实验教材、组织方式、实验容 1.实验教材:Andorid开发与应用 2.组织方式:个人独立完成 2.实验容: 实现基于SQLite数据库的通信录应用,通过单击增加图标打开添加通信录界面,通过单击通信录中的各条信息可删除选中项。 三.方案设计 Android系统中集成了SQLite数据库,并且为数据库的操作提供了相关的类和方法,便于没有数据库开发经验的开发者编写程序。另外,Android平台中利用Content Provider机制来实现跨应用程序数据共享。一个应用程序可以通过Content Provider来发布自己的数据,其他的应用程序可以通过Content Resolver来获取共享数据。

四.运行结果

五.总结 通过这次实验掌握了SQLite OpenHelper类结构,掌握了基于SQLite数据库的应用开发过程以及Content Provider发布数据的方法和掌握Content Resolver 获取数据的方法。 六.附录:源代码 主布局文件activity_main.xml:

DataStage-V11.3部署手册

DataStageV11.3 安装手册 修订记录

一、基础安装环境检查 1.操作系统Redhat Linux6需要的安装补丁包 glibc-2.12-1.107.el6.x86_64 libXp-1.0.0-15.1.el6.x86_64 libXau-1.0.5-1.el6.x86_64 libXext-1.1-3.el6.x86_64 libX11-1.3-2.el6.x86_64 libxcb-1.5-1.el6.x86_64 libXmu-1.0.5-1.el6.x86_64 nss-softokn-freebl-3.14.3-9.el6.x86_64 pam-1.1.1-4.el6_0.1.x86_64 libaio-0.3.107-10.el6.x86_64 libstdc++-4.4.7-3.el6.x86_64 compat-libstdc++-33-3.2.3-69.el6.x86_64 libgcc-4.4.7-3.el6.x86_64 2.检查操作方法 rpm –qa | grep glibc 3.授权文件配置 将授权文件解压至安装文件is-suite文件夹下

二、创建oracle数据库 1.将DataStage初始化Oracle数据库脚本上传至数据库 服务器 2.依次执行数据库初始化脚本 ./create_xmeta_db.sh sys Oracle123 orcldb dsadmin dsadmin'!'123 DATASTAGE /oracle/app/oracle/oradata/orcldb ./create_xmeta_db.sh sys Oracle123 orcldb wsadmin wsadmin'!'123 DATASTAGE1 /oracle/app/oracle/oradata/orcldb

Linux基础教程 linux scp命令的用法详解

Linux基础教程 linuxscp命令的用法详解svn 删除所有的。svn文件 find . -name .svn -type d -exec rm -fr {} \; 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。 把计 -a 尽可能将档案状态、权限等资料都照原状予以复制。 -r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。 -f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。 范例: 将档案 aaa 复制(已存在),并命名为 bbb : cpaaabbb 将所有的C语言程式拷贝至 Finished 子目录中 : cp *.c Finished 命令:scp 不同的Linux之间copy文件常用有3种方法: 第一种就是ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy。

第二种方法就是采用samba服务,类似Windows文件copy 的方式来操作,比较简洁方便。 第三种就是利用scp命令来进行文件复制。 scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。 scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root 然后会提示你输入另外那台172.19.2.75主机的root用户的登录密码,接着就开始copy了。 如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。 scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz linux 的 scp 命令可以在 linux 之间复制文件和目录; ================== scp 命令 ================== scp 可以在 2个 linux 主机间复制文件; 命令基本格式: scp [可选参数] file_sourcefile_target ====== 从本地复制到远程 ====== * 复制文件: * 命令格式: scplocal_fileremote_username@remote_ip:remote_folder 或者 scplocal_fileremote_username@remote_ip:remote_file 或者

Git+使用教程

Git 中文教程 介绍 Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。 Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。 实际上内核开发团队决定开始开发和使用 Git 来作为内核开发的版本控制系统的时候,世界开源社群的反对声音不少,最大的理由是 Git 太艰涩难懂,从 Git 的内部工作机制来说,的确是这样。但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。现在,越来越多的著名项目采用 Git 来管理项目开发,例如:wine, U-boot 等,详情看https://www.sodocs.net/doc/5814017846.html,/git 作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。它只适用于 Linux / Unix 平台,没有 Windows 版本,目前也没有这样的开发计划。 本文将以 Git 官方文档Tutorial,core-tutorial和Everyday GIT作为蓝本翻译整理,但是暂时去掉了对 Git 内部工作机制的阐述,力求简明扼要,并加入了作者使用 Git 的过程中的一些心得体会,注意事项,以及更多的例子。建议你最好通过你所使用的 Unix / Linux 发行版的安装包来安装 Git, 你可以在线浏览本文,也可以通过下面的命令来得到本文最新的版本库,并且通过后面的学习用 Git 作为工具参加到本文的创作中来。 $ git-clone https://www.sodocs.net/doc/5814017846.html,/git/gittutorcn.git 创建一个版本库:git-init-db 创建一个 Git 版本库是很容易的,只要用命令git-init-db就可以了。现在我们来为本文的写作创建一个版本库: $ mkdir gittutorcn $ cd gittutorcn $ git-init-db git 将会作出以下的回应 defaulting to local storage area 这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。你可以用 ls -a 查看一下,并请注意其中的三项内容: ● 一个叫 HEAD 的文件,我们现在来查看一下它的内容:

Android 实验报告 Sqlite 数据库操作

2、掌握Android的SQLite数据库设计; 3、掌握Android的Activity 和Fragement用法; 4、熟悉XML 和JSon 文件读取 三、实验内容 要求使用SQLite数据库实现用户注册和登录,读取数据库信息,退出时生成XML文件或JSON文件。 四、实验过程和结果 content_main.xml: MainActivity.java: RegisterActivity.java: public class RegisterActivity extends Activity { SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.sodocs.net/doc/5814017846.html,yout.content_register); /*start*/ db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/user.db3", null); /**/ Button register = (Button)findViewById(R.id.register); register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String username = ((EditText)findViewById(https://www.sodocs.net/doc/5814017846.html,ername)).getText().toString(); String password = ((EditText)findViewById(R.id.password)).getText().toString(); try{ String sql = "create table if not exists user_info (_id integer " + " primary key autoincrement," + " username varchar(255)," + " password varchar(255)" + ")"; db.execSQL(sql); sql = "insert into user_info values( null,?,?)";

如何安装Linux内核源代码

如何获取Linux内核源代码 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux 内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。 使用Git 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本: $ git clone git://https://www.sodocs.net/doc/5814017846.html,/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步: $ git pull 安装内核源代码 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,如果你下载的是bzip2包,运行: $ tar xvjf linux-x.y.z.tar.bz2 如果你下载的是gzip包,则运行: $ tar xvzf linux-x.y.z.tar.gz 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。 应用补丁

Linux操作命令大全——CMJ

即用即查Linux命令行实例参考手册代码第1章Linux基本网络及文件传输命令 网络下载器——wget wget命令语法: wget [参数][URL] 实例1 下载https://www.sodocs.net/doc/5814017846.html,网站首页的数据。 [root@localhost local]# wget https://www.sodocs.net/doc/5814017846.html, 实例2 最多尝试5次下载文件https://www.sodocs.net/doc/5814017846.html,/ images/ac2009eu_125x12 5_bas ic.gif。 [root@localhost local]# wget –t 5 https://www.sodocs.net/doc/5814017846.html,/im ages/ac2009eu_125x125_ba sic.gif 实例3 在后台最多尝试5次下载文件https://www.sodocs.net/doc/5814017846.html,/in/Images/big/happy2 00 9. png。 [root@localhost local]# wget -t 5 -o download.log http://ww https://www.sodocs.net/doc/5814017846.html,/in/Images/big /happy2009.png 实例4 假定下载文件https://www.sodocs.net/doc/5814017846.html,/httpd/httpd-2.0.63-win 32-src.zip的工作被打断,现在需要使用断点续传的功能继续下载。 [root@localhost local]# wget –nc –r http://apache.etoak.co m/ httpd/httpd -2.0.63-win32 -src.zip 实例5 以5层(默认)递归方式建立https://www.sodocs.net/doc/5814017846.html,镜像,每个文件尝试一次,操作过程记录到日志文件sinamirror.log。下载后在本地重新建立链接关系。 [root@localhost local]# wget --convert-links –r http://ww https://www.sodocs.net/doc/5814017846.html,/ -o sinamirror.l og 文本浏览——lynx Lynx命令语法: lynx [参数][文件/目录/URL] 实例1 使用lynx浏览网站https://www.sodocs.net/doc/5814017846.html,。 [root@localhost local]# lynx https://www.sodocs.net/doc/5814017846.html, 实例2 使用lynx打开离线HTML文档spring-2-intro.html。 [root@localhost local]# lynx spring-2-intro.html 文件传输——ftp ftp命令语法: ftp [参数][主机名称/IP地址] 实例1 从Linux系统主机10.0.101.9利用登录账户root登录到基于Windows操作系统主机10.0.101.5的FTP服务器。 第1步,启动FTP服务,等待FTP客户端连接。

linux下git安装使用

目的:git在linux上的安装配置包括设置不同用户的权限。 以下软件将被安装 Git Gitosis user1可以对于test仓库有读写权限,user2对于test仓库只有可读权限。 1. 增加yum repository 在CentOS中,在不增加repository情況下是找不到Git的套件的,所以需要增加一個repository。 rpm -Uvh https://www.sodocs.net/doc/5814017846.html,/gist/centos/5/RPM/epel-release-5-3.noarch.rpm 2. 安裝Git, git-web以及gitosis yum -y install git gitweb gitosis 3. 配置Git账号 useradd git # 使用"git"作為管理Git的用戶 passwd git # 更改"git"密码 4. 配置Gitosis su - git # 使用"git"操作 cd ~ # Gitosis需要设置name和email才能进行commit动作 git config --global https://www.sodocs.net/doc/5814017846.html, "用戶显示的名称" git config --global user.email "用戶邮件地址" ssh-keygen -t rsa # "git"用户作为Git服务器的管员, #用它來生成public key 5. 初始化Gitosis su – git gitosis-init < ~/.ssh/id_rsa.pub #Gitosis管理一个特殊的Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略. #这样该公钥的拥有者就能修改用于配置Gitosis 的那个特殊Git 仓库了。接下来,需要手工对该仓库中的post-update脚本加上可执行权限: chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update 6配置git服务选项,取出"gitosis-admin" repository su - git cd ~

SQLite语法与Android数据库操作

SQLite语法与Android数据库操作 学习android的小伙伴们在使用Android的SQLiteDatabase类进行数据库操作的时候总会有一些力不从心,特别是对于初涉数据库的小伙伴来说更是如此。 这是因为Android的SQLiteDatabase原本就不是依赖于Android而存在的,而是单独的作为一个个体而存在的,有着自己特有的体系和语言,而这就是SQL 语法了。 关于SQLite数据库的理论知识网上一搜一大片,这里就不多说。SQLite是一个轻量型的数据库,它对于大型数据库来说功能少,因此只需要学习一些通用的SQL语法就能够轻松掌握,而这些SQL语法对于其他的数据库来说也是基本不变化的。 但SQLite有个缺点,那就是作为轻量级选手的它,如果要保存大量数据会力有不及,因此它在android中适合保存个人设置等没有大量数据的信息。 好了,下面就是正式学习SQLite了,只有掌握了SQLite,掌握SQL语法,才能对Android中的数据库操作运用自如。 SQLite的数据类型 与Java语言一样,SQLite也有其特有的数据类型,当然相比MySQL来说只有5种数据类型算是很少了 NULL:空值相当于Java中的null INTEGER:带符号的整型,相当于Java中的int型 REAL:浮点数字,相当于Java中float/double型 TEXT/VARCHAR:字符串文本,相当于Java中String类 BLOB:二进制对象,相当于Java中的byte数组,用于存放图片、声音等文件 Sqlite3中的约束 SQLite的约束是什么呢?约束就是限定数据库字段的条件,如果有个student数据表,它里面有一个age年龄的属性字段,我们要求数据库保存age 这个字段的时候必须有值,不能为空,那么就可以设置为:"age INTEGER NOT NULL"。这句话的意思就是age字段是不能为空的整型 NOT NULL :非空

相关主题