数据库-SQL |
|
|
--SQLite
--1.查询最后一行list_custom_id值
select list_custom_id from tb_list where list_id = (select max(list_id) from tb_list)
--2.修改表的名字
alter table tb_custom rename to tb_ccc
--3.查询某一行的数据
----from:从哪个索引开始.to:要查询的数据个数
select * from tb_list limit from,to
|
文摘-中文MP3名字下载 |
|
|
1.中文MP3名字下载问题
http://192.168.1.104:8080/mp3/a1.mp3这样可以下载到
http://192.168.1.104:8080/mp3/勇气.mp3 出现中文名字就下载不到了。
解决方法:
1.修改Tomcat服务器conf\server.xml 这个文件。打开找到8080,在最后加上 URIEncoding="utf-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="utf-8"/>
2.程序中修改“中文”的编码。关键代码URLEncoder.encode("string","utf-8");(只要把中文部分转编码就可以了)mp3info.getMp3Name()取得MP3的名字。
utfname=URLEncoder.encode(mp3info.getMp3Name(),"utf-8");
mp3url="http://192.168.1.104:8080/mp3/"+utfname;
URL url=new URL(mp3url);
....代码略
这样就可以下载到中文名称的MP3文件了。简单吧!~.~
=================================================================================
2.XML读取得中文的问题
解决方法:在InputStreamReader中设置编码为gb2312
关键代码如下:
HttpURLConnection urlconn=(HttpURLConnection)url.openConnection();
BufferedReader br=new BufferedReader(new InputStreamReader(urlconn.getInputStream(),"gb2312"));
这样就可以解决问题了!
|
两个个ListView设定焦点 |
|
|
两个ListView的焦点问题:
两个ListView只能使其中一个获取焦点而另外一个无法获取到焦点,可以通过以下方法强制转移焦点。
listView2.setFocusable(true);
listView2.setFocusableInTouchMode(true);
listView2.requestFocus();
listView2.requestFocusFromTouch();
ListView1.clearFocus();
以上代码可以将焦点从listView1上移动到listView2上来。
|
资源文件格式 |
|
|
color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#FF0000</color>
</resources>
访问color.xml颜色:res.getColor(R.color.red);
drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="white">#FFFFFF</drawable>
<drawable name="dark">#000000</drawable>
<drawable name="red">#FF0000</drawable>
</resources>
|
InputStream,byte[]互转 |
|
|
//InputStream转byte[]
private byte[] InputStreamToByte(InputStream is) throws IOException {
ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
int ch;
while ((ch = is.read()) != -1) {
bytestream.write(ch);
}
byte imgdata[] = bytestream.toByteArray();
bytestream.close();
return imgdata;
}
//byte[]转InputStream
byte[] data;
InputStream is = new ByteArrayInputStream(data);
|
自定义-Toast |
|
|
Toast toast = new Toast(context);
//设置Toast的显示位置
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
//设置定义的view
toast.setView(view);
toast.show();
|
widget-TextView |
|
|
//1:设置粗体
//在xml文件中使用android:textStyle="bold" 可以将英文设置成粗体,但是不能将中文设置成粗体,
//将中文设置成粗体的方法是:
TextView tv = (TextView)findViewById(R.id.TextView01);
TextPaint tp = tv.getPaint();
tp.setFakeBoldText(true);
//2:文字中间加横线
priceTV.setText("价格:2.00元");
priceTV.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
//3:设置带滚动条的TextView
http://mingkg21.iteye.com/blog/684859
//4.TextView中插入图片
http://blog.163.com/spf9190@126/blog/static/50207531201091545954587/
//5.android--设置TextView部分文字的颜色和背景(高亮显示)
http://blog.csdn.net/nie_feilong/article/details/6264049
|
Widget-EditView |
|
|
//1.设置缺省值
EditView.setHint("缺省值")
//设置是否显示光标
setCursorVisible(false);
//2.Edit属性
//EditText继承关系:
View-->TextView-->EditText。
//设置提示信息
android:hint="请输入数字!"
//设置只能输入整数,如果是小数则是:decimal
android:numeric="integer"
//设置单行输入,一旦设置为true,则文字不会自动换行。
android:singleLine="true"
//设置只能输入密码
android:password="true"
//字体颜色
android:textColor = "#ff8c00"
//字体
android:textStyle="bold"
//大小
android:textSize="20dip"
//以大写字母写
android:capitalize = "characters"
//EditText没有这个属性,但TextView有
android:textAlign="center"
//被选中文字的底色,默认为蓝色
android:textColorHighlight="#cccccc"
//设置提示信息文字的颜色,默认为灰色
android:textColorHint="#ffff00"
//控制字与字之间的间距
android:textScaleX="1.5"
//字型
android:typeface="monospace"
//空间背景,这里没有,指透明
android:background="@null"
//控制比例
android:layout_weight="1"
//EditText始终不弹出软件键盘
android:textAppearance="?android:attr/textAppearanceLargeInverse"
//1.EditText默认不弹出软件键盘
//方法一:
//在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden
//例如:
<activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>发型123
</activity>
//方法二:
//让EditText失去焦点,使用EditText的clearFocus方法
EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();
//方法三:
//强制隐藏Android输入法窗口
EditText edit=(EditText)findViewById(R.id.edit);
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edit.getWindowToken(),0);
//2.EditText始终不弹出软件键盘
EditText edit=(EditText)findViewById(R.id.edit);
edit.setInputType(InputType.TYPE_NULL);
//固定输入字符长度
mobileEText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(Constants.MOBILE_MAX_LENGTH)});
|
标题栏-状态栏-全屏 |
|
|
//1.去除状态栏(电池,信号,等)
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//2.去除标题栏(应用程序TitleBar)
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//3.实现全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
Sqlite3 常用命令 |
|
|
--1)创建数据库文件:
2. >SQLite3 d:\test.db 回车
3. 就生成了一个test.db在d盘。
4. 这样同时也SQLite3挂上了这个test.db
5. 2)
6. 用.help可以看看有什么命令
7. >.help 回车即可
8. 3)可以在这里直接输入SQL语句创建表格 用;结束,然后回车就可以看到了
9. 4)看看有创建了多少表
10. >.tables
11. 5)看表结构
12. >.schema 表名
13. 6)看看目前挂的数据库
14. >.database
15. 7)如果要把查询输出到文件
16. >.output 文件名
17. > 查询语句;
18. 查询结果就输出到了文件c:\query.txt
19.
20. 把查询结果用屏幕输出
21. >.output stdout
22.
23. 8)把表结构输出,同时索引也会输出
24. .dump 表名
25. 9)退出
26. >.exit 或者.quit
27.普通SQL操作,通用标准SQL语句。
------------------------------------------------------------------
28. 返回上一级 cd.. cd../
//自己总结
1.退出sqlite操作模式---- .quit
2.退出adb shell "#"模式--- exit
3.#rm -r xxx //删除名字为xxx的文件夹及其里面的所有文件
4.#rm xxx //删除文件xxx
5.#rmdir xxx //删除xxx的文件夹
|
TextView 代码中字体设置 |
|
|
1.
textView.setTextColor(Color.RED);//设置成红色
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 24f);//设置成24sp
textView.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));//加粗
2.//在xml文件中使用android:textStyle="bold" 可以将英文设置成粗体,但是不能将中文设置成粗体,
//将中文设置成粗体的方法是:
TextView tv = (TextView)findViewById(R.id.TextView01);
TextPaint tp = tv.getPaint();
tp.setFakeBoldText(true);
3.TextView(EditView)文字底部或者中间 加横线的简介与内容
promotionLinkText = (TextView) this .findViewById(R.id. text_promotion_link );
中间加横线
promotionLinkText .getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG );
底部加横线:
promotionLinkText .getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG );
|
安卓-常用代码段 |
|
|
//1:获取SDcard根目录:
Environment.getExternalStorageDirectory().toString()+"\"
//2:获取屏幕宽、高
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenwidth = dm.widthPixels;
int screenheight = dm.heightPixels;
//3:设置BUTTON && TEXTVIEW 跑马灯效果
android:singleLine="true"
android:ellipsize="marquee"
android:focusableInTouchMode="true"
android:focusable="true"
//4:真正的跑马灯效果
<TextView android:layout_width="100px" android:layout_height="wrap_content"
android:textColor="@android:color/white" android:ellipsize="marquee"
android:focusable="true" android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true" android:scrollHorizontally="true"
android:text="这才是真正的文字跑马灯效果"/>
//5:按返回键,执行
//方法一:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK)
finish();
return super.onKeyDown(keyCode, event);
}
//方法二:(更简便)
@Override
public void onBackPressed() {
if(条件){
return;
}
super.onBackPressed();
}
//6:获取外部布局xml
View view=LayoutInflater.from(this).inflate(R.layout.list_page_load, null);
//获取Inflate两种方式:
1.)LayoutInflater inflater = getLayoutInflater();
2.)LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog,null);
//7:获取当前运行的屏幕的activity名字
java code:
ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> forGroundActivity = activityManager.getRunningTasks(1);
RunningTaskInfo currentActivity;
currentActivity = forGroundActivity.get(0);
String activityName = currentActivity.topActivity.getClassName();
记得在加AndroidManifest.xml中增加权限
<uses-permission android:name="android.permission.GET_TASKS"/>
//8:调用其他程序的Activity
java code:
Intent intent = new Intent(Intent.ACTION_MAIN);
ComponentName componentName = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
intent.setComponent(componentName);
startActivity(intent);
//9:是否有内存卡
//判断是否有内存卡
public boolean avaiableMedia(){
String status=Environment.getExternalStorageState();
if(status.equals(Environment.MEDIA_MOUNTED)){
return true;
}
else {
return false;
}
}
//10:去掉标题栏实现全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,WindowManager.LayoutParams. FLAG_FULLSCREEN);
|
安卓-常用权限 |
|
|
1.访问因特网:android.permission.INTERNET
2.SD卡读写:android.permission.WRITE_EXTERNAL_STORAGE
3.<!--SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
|
MediaPalyer-获取歌词 |
|
|
package snippet;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
//计算歌词大小
public static void method1(){
int n = 0;
int i = 0;
int FSize = 0;
File file = new File("C:\\Users\\jay\\Desktop\\LiHong.mp3");
StringBuilder builder = new StringBuilder();
boolean Flag1 = true,Flag2 = true;
FileInputStream fis = null;
InputStreamReader isr = null;
byte[] USLT_SIZE = new byte[4];
try {
fis = new FileInputStream(file);
isr = new InputStreamReader(fis,"UTF-8");
int c = 0;
while((c=isr.read())!=-1){
if(Flag1){
if(c=='A'){
c = isr.read();
if(c=='P'){
c = isr.read();
if(c == 'I'){
c = isr.read();
if(c == 'C'){
USLT_SIZE[0] = (byte) isr.read();
USLT_SIZE[1] = (byte) isr.read();
USLT_SIZE[2] = (byte) isr.read();
USLT_SIZE[3] = (byte) isr.read();
System.out.println("STOP!!");
//歌词长度
//1.New Code:size
// FSize = ((USLT_SIZE[0] & 0xff)<<21)
// +((USLT_SIZE[1] & 0xff) <<14)
// +((USLT_SIZE[2] & 0xff)<<7)
// +((USLT_SIZE[3] & 0xff));
//2.Old Code:size
// FSize = (USLT_SIZE[0]<<21)
// +(USLT_SIZE[1]<<14)
// +(USLT_SIZE[2]<<7)
// +(USLT_SIZE[3]);
//3.BaiDu Code:size
FSize = USLT_SIZE[0]*0x1000000
+USLT_SIZE[1]*0x10000
+USLT_SIZE[2]*0x100
+USLT_SIZE[3];
System.out.println(FSize+"---------");
//跳过两个字节
isr.read();
isr.read();
//停止执行
Flag1 = false;
}
}
}
}
}
//接上
if(!Flag1){
if(Flag2){
while((n = isr.read())!=-1){
// System.out.print((char)n);
builder.append((char)n);
i++;
if(i == FSize){
break;
}
}
}
Flag2 = false;
}
if(i == FSize && i!=0){
break;
}
}
System.out.println(builder.toString());
fis.close();
isr.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//封装,以行读取
public static void method2(){
File file = new File("C:\\Users\\jay\\Desktop\\Celine Dion-A New Day...Live in Las Vegas-At Last.mp3");
String str = "";
StringBuffer sb = new StringBuffer();
BufferedReader br = null;;
boolean Flag = true;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine())!=null){
if(!Flag){
if(str.length() == 0){
sb.append(str);
}
else{
if(str.contains("[")){
sb.append(str+"\n");
}else{
break;
}
}
}
if(Flag){
if(str.contains("USLT")){
sb.append(str.substring(str.indexOf("["),str.indexOf("]")+1)+"\n");
Flag = false;
}
}
}
System.out.println(sb.toString());
br.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
br.close();
br = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
// method2();
method1();
}
}
|
JAVA-常用代码段 |
|
|
//1.格式化数字
public static String format(double num){
NumberFormat formatter = new DecimalFormat("0.00");
String s = formatter.format(num);
return s;
}
//2:int转long
public static final long int2long(int value){
long temp = (long) value;
if(value < 0){
temp = temp << 32;
temp = temp >>> 32;
}
return temp;
}
long转int
public static int longToInt(long num){
Long l = Long.valueOf(num);
int i = l.intValue();
return i;
}
//3:过滤文件后缀
class MusicFilter implements FilenamFilter{
public boolean accept(File dir,String name){
return(name.endWith(".mps3"));
}
}
|
MediaPalyer-获取网络图片 && 获取ID3V2专辑封面 |
|
|
//获取网络图片
public Bitmap getURLBitmap()
{
URL imageUrl = null;
Bitmap bitmap = null;
try
{
/* new URL对象将网址传入 */
imageUrl = new URL(uriPic);
} catch (MalformedURLException e)
{
e.printStackTrace();
}
try
{
/* 取得联机 */
HttpURLConnection conn = (HttpURLConnection) imageUrl
.openConnection();
conn.connect();
/* 取得回传的InputStream */
InputStream is = conn.getInputStream();
/* 将InputStream变成Bitmap */
bitmap = BitmapFactory.decodeStream(is);
/* 关闭InputStream */
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
return bitmap;
}
//获取ID3V2专辑封面
public Bitmap getImageURL(String URL_TYPE){
Bitmap bitmap = null;
if(URL_TYPE.equals("location")){
String [] imageAttribs=new String[]{
MediaStore.Audio.Albums.ALBUM_ART
};
ContentResolver resolver = this.getContentResolver();
Cursor cursorImage=resolver.query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, imageAttribs, null, null, null);
if(cursorImage!=null){
cursorImage.moveToNext();
imageUri=cursorImage.getString(0);
if(imageUri!=null){
try {
FileInputStream fis = new FileInputStream(new File(imageUri));
bitmap = BitmapFactory.decodeStream(fis);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
return bitmap;
}
|
MediaPalyer-获取SDcard所有歌曲信息 |
|
|
package com.media;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
public class Media_TestActivity extends Activity {
Cursor cursor = null;
int[] music_id;
private String[] arr_musicname,arr_musictime,arr_musicsinger;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//--获取歌曲信息
Cursor c = this.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DISPLAY_NAME },null, null, null);
c.moveToFirst();
arr_musicname = new String[c.getCount()];
arr_musictime = new String[c.getCount()];
arr_musicsinger = new String[c.getCount()];
for(int i=0;i<c.getCount();i++){
arr_musicname[i] = c.getString(4);
arr_musictime[i] = c.getInt(1)+"";
arr_musicsinger[i] = c.getString(2);
System.out.println(arr_musicname[i]+"\t"+arr_musictime[i]+arr_musicsinger[i]);
c.moveToNext();
}
}
}
//可运行的ACTIVITY
package com.media;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.widget.ImageView;
import android.widget.Toast;
public class Media_TestActivity extends Activity {
String imageUri;//图片地址
private ImageView img;
String uriPic = "http://pic.sjjia.com/pic/downfileq/qds/82274aab2dshhy.jpg";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath())));
img = (ImageView) findViewById(R.id.imgid);
img.setImageBitmap(getImageURL());
}
//获取网络图片
public Bitmap getURLBitmap()
{
URL imageUrl = null;
Bitmap bitmap = null;
try
{
/* new URL对象将网址传入 */
imageUrl = new URL(uriPic);
} catch (MalformedURLException e)
{
e.printStackTrace();
}
try
{
/* 取得联机 */
HttpURLConnection conn = (HttpURLConnection) imageUrl
.openConnection();
conn.connect();
/* 取得回传的InputStream */
InputStream is = conn.getInputStream();
/* 将InputStream变成Bitmap */
bitmap = BitmapFactory.decodeStream(is);
/* 关闭InputStream */
is.close();
} catch (IOException e)
{
e.printStackTrace();
}
return bitmap;
}
//获取ID3V2专辑封面
public Bitmap getImageURL(){
Bitmap bitmap = null;
String [] imageAttribs=new String[]{
// MediaStore.Audio.Albums.ALBUM -- 专辑
// MediaStore.Audio.Albums.ARTIST //歌手
MediaStore.Audio.Albums.ALBUM_ART,//封面
};
ContentResolver resolver = this.getContentResolver();
Cursor cursorImage=resolver.query(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, imageAttribs, null, null, null);
if(cursorImage!=null){
cursorImage.moveToNext();
imageUri=cursorImage.getString(0);
if(imageUri!=null){
System.out.println("---"+imageUri);
Toast.makeText(Media_TestActivity.this, imageUri+"", Toast.LENGTH_LONG).show();
try {
FileInputStream fis = new FileInputStream(new File(imageUri));
bitmap = BitmapFactory.decodeStream(fis);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else{
System.out.println("IS NULL");
}
}
return bitmap;
}
}
|