android的知识

/**


为程序创建桌面快捷方式

*/

private
void
 addShortcut(){

Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");


//快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

shortcut.putExtra("duplicate", false); //不允许重复创建

//指定当前的Activity为快捷方式启动的对象 //com.everest.video.VideoPlayer

//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序

ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENTnewIntent(Intent.ACTION_MAIN).setComponent(comp));

//快捷方式的图标

ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);

sendBroadcast(shortcut);

}

 

/**

删除程序的快捷方式

*/

private
void
 delShortcut(){

Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");

//快捷方式的名称

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));

//指定当前的Activity为快捷方式启动的对象 //com.everest.video.VideoPlayer

//注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式

String appClass = this.getPackageName() + "." +this.getLocalClassName();

ComponentName comp = new ComponentName(this.getPackageName(), appClass);

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENTnewIntent(Intent.ACTION_MAIN).setComponent(comp));

sendBroadcast(shortcut);

}

 

全屏显示

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

 

横竖屏显示

private
void
 changedScreen(){

int request = this.getRequestedOrientation();

if(request == -1){

Toast.makeText(TaskRunActivity.this, "None 1", Toast.LENGTH_SHORT).show();

}else{

if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

}else
if
(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

}

}

}

 

获取手机分辩率

DisplayMetrics dm = new DisplayMetrics();

this.getWindowManager().getDefaultDisplay().getMetrics(dm);

int width = dm.widthPixels;

int height = dm.heightPixels;

图形用户界面
文本框(TextView)
列表(ListView)
卷轴视图(ScrollView)
编辑框(EditText)
按钮(Button)
下载列表(Spinner)
多项选择(CheckBok)
图形用户界面
菜单(Menu)
提示(toast)
对话框(Dialog)
日期(DatePicker)
时间(TimePicker)
单项选择(RadioGroup RadioButton)
图形用户界面
线性布局(LinearLayout)
相对布局(RelativeLayout)
绝对布局(AbsoluteLayout)
表格布局(TableLayout)
数据据存储
系统偏好
文件
网络
数据库


                                                                                                                                                                                                          显示网页:
  1. Uri uri = Uri.parse("http://www.google.com");
  2. Intent it = new Intent(Intent.ACTION_VIEW,uri);
  3. startActivity(it);
显示地图:
  1. Uri uri = Uri.parse("geo:38.899533,-77.036476");
  2. Intent it = new Intent(Intent.Action_VIEW,uri);
  3. startActivity(it);
路径规划:
  1. Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");
  2. Intent it = new Intent(Intent.ACTION_VIEW,URI);
  3. startActivity(it);
拨打电话:
调用拨号程序
  1. Uri uri = Uri.parse("tel:xxxxxx");
  2. Intent it = new Intent(Intent.ACTION_DIAL, uri);   
  3. startActivity(it);   
  1. Uri uri = Uri.parse("tel.xxxxxx");
  2. Intent it =new Intent(Intent.ACTION_CALL,uri);
  3. 要使用这个必须在配置文件中加入<uses-permission id="Android.permission.CALL_PHONE" />
发送SMS/MMS
调用发送短信的程序
  1. Intent it = new Intent(Intent.ACTION_VIEW);
  2. it.putExtra("sms_body", "The SMS text");
  3. it.setType("vnd.android-dir/mms-sms");
  4. startActivity(it);   
发送短信
  1. Uri uri = Uri.parse("smsto:0800000123");
  2. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  3. it.putExtra("sms_body", "The SMS text");
  4. startActivity(it);   
发送彩信
  1. Uri uri = Uri.parse("content://media/external/images/media/23");
  2. Intent it = new Intent(Intent.ACTION_SEND);
  3. it.putExtra("sms_body", "some text");
  4. it.putExtra(Intent.EXTRA_STREAM, uri);
  5. it.setType("image/png");
  6. startActivity(it);
发送Email
  1.
  2. Uri uri = Uri.parse("mailto:xxx@abc.com");
  3. Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  4. startActivity(it);
  1. Intent it = new Intent(Intent.ACTION_SEND);
  2. it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
  3. it.putExtra(Intent.EXTRA_TEXT, "The email body text");
  4. it.setType("text/plain");
  5. startActivity(Intent.createChooser(it, "Choose Email Client"));   
  1. Intent it=new Intent(Intent.ACTION_SEND);   
  2. String[] tos={"me@abc.com"};   
  3. String[] ccs={"you@abc.com"};   
  4. it.putExtra(Intent.EXTRA_EMAIL, tos);   
  5. it.putExtra(Intent.EXTRA_CC, ccs);   
  6. it.putExtra(Intent.EXTRA_TEXT, "The email body text");   
  7. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   
  8. it.setType("message/rfc822");   
  9. startActivity(Intent.createChooser(it, "Choose Email Client"));
添加附件
  1. Intent it = new Intent(Intent.ACTION_SEND);
  2. it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
  3. it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/mysong.mp3[/url]");
  4. sendIntent.setType("audio/mp3");
  5. startActivity(Intent.createChooser(it, "Choose Email Client"));
播放多媒体
  1.   
  2. Intent it = new Intent(Intent.ACTION_VIEW);
  3. Uri uri = Uri.parse("[url=]file:///sdcard/song.mp3[/url]");
  4. it.setDataAndType(uri, "audio/mp3");
  5. startActivity(it);
  1. Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
  2. Intent it = new Intent(Intent.ACTION_VIEW, uri);
  3. startActivity(it);   
Uninstall 程序
  1. Uri uri = Uri.fromParts("package", strPackageName, null);
  2. Intent it = new Intent(Intent.ACTION_DELETE, uri);
  3. startActivity(it);
//调用相册
public static final String MIME_TYPE_IMAGE_JPEG = "image/*";
public static final int ACTIVITY_GET_IMAGE = 0;
Intent getImage = new Intent(Intent.ACTION_GET_CONTENT); 
getImage.addCategory(Intent.CATEGORY_OPENABLE); 
getImage.setType(MIME_TYPE_IMAGE_JPEG);
startActivityForResult(getImage, ACTIVITY_GET_IMAGE);
//调用系统相机应用程序,并存储拍下来的照片
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
time = Calendar.getInstance().getTimeInMillis();
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment
.getExternalStorageDirectory().getAbsolutePath()+"/tucue", time + ".jpg")));
startActivityForResult(intent, ACTIVITY_GET_CAMERA_IMAGE);
uninstall apk
Uri uninstallUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);
install apk
Uri installUri = Uri.fromParts("package", "xxx", null);
returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
play audio
Uri playUri = Uri.parse("[url=]file:///sdcard/download/everything.mp3[/url]");
returnIt = new Intent(Intent.ACTION_VIEW, playUri);
//发送附件
Intent it = new Intent(Intent.ACTION_SEND);   
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");   
it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/eoe.mp3[/url]");   
sendIntent.setType("audio/mp3");   
startActivity(Intent.createChooser(it, "Choose Email Client"));
//搜索应用
Uri uri = Uri.parse("market://search?q=pname:pkg_name");   
Intent it = new Intent(Intent.ACTION_VIEW, uri);   
startActivity(it);   
//where pkg_name is the full package path for an application
//进入联系人页面
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(People.CONTENT_URI);
startActivity(intent);
//查看指定联系人
Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id联系人ID
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(personUri);
startActivity(intent);
                                
                                                                                                        
                        
                                                          
                                                                                                                                                                                                                 
在进行Android开发的过程中,免不了,要开发TCP/UDP通讯的程序,下面这两段代码,分别介绍了TCP/UCP通过的一个实例:
代码一:

private void tcpdata() {
  try {
   Socket s = new Socket("192.168.0.25", 65500);
   // outgoing stream redirect to socket
   OutputStream out = s.getOutputStream();
   // 注意第二个参数据为true将会自动flush,否则需要需要手动操作out.flush()
   PrintWriter output = new PrintWriter(out, true);

   output.println("Hello IdeasAndroid! 伪IP为:"
     + SIMCardToIP("13512345006"));

   InputStream inputStream = s.getInputStream();

   DataInputStream input = new DataInputStream(inputStream);

   byte[] b = new byte[10000];

   int length = input.read(b);

   inputReader = new InputStreamReader(inputStream);

   String Msg = new String(b, 0, length, "gb2312");

   Toast.makeText(TcpTest.this, Msg, 1000).show();

   Log.d("Tcp Demo", "message From Server:" + Msg);
   s.close();

  } catch (UnknownHostException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
}
下面的代码是UDP通讯的过程:
public String send(String msg) {
  StringBuilder sb = new StringBuilder();
  InetAddress local = null;
  try {
   local = InetAddress.getByName("192.168.0.25"); // 本机测试
  
  } catch (UnknownHostException e) {
   
   e.printStackTrace();
  }
  try {
   dSocket = new DatagramSocket(); // 注意此处要先在配置文件里设置权限,否则会抛权限不足的异常
   
  } catch (SocketException e) {
   e.printStackTrace();
   
  }
  int msg_len = msg == null ? 0 : msg.length();
  DatagramPacket dPacket = new DatagramPacket(msg.getBytes(), msg_len,
    local, SERVER_PORT);
  try {
   dSocket.send(dPacket);
   
  } catch (IOException e) {
   e.printStackTrace();
   
  }
  try {  
   dSocket.receive(dPacket);
   sb.append(new String(dPacket.getData()));
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  dSocket.close();
  return sb.toString();
}

Android知识点整理包括但不限于以下内容: 1. Android基础知识: - Android系统架构和组件:包括应用层、应用框架层、系统运行库层和Linux内核层。 - Android应用的生命周期:包括活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)的生命周期。 - Android应用的资源管理:包括布局文件、字符串资源、图像资源等的使用和管理。 - Android应用的权限管理:包括权限的声明和请求。 2. Android界面开发: - 布局管理器:包括线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)等。 - 视图控件:包括文本视图(TextView)、按钮(Button)、图像视图(ImageView)等。 - 用户交互:包括点击事件、手势识别、触摸事件等的处理。 3. Android数据存储: - Shared Preferences:用于存储少量的键值对数据。 - SQLite数据库:用于存储结构化数据。 - 文件存储:包括内部存储和外部存储的文件存储方式。 4. Android网络编程: - 网络请求:使用HttpURLConnection或HttpClient进行网络请求。 - JSON解析:使用JSONObject或GSON库解析JSON数据。 - 图片加载:使用Picasso或Glide库加载网络图片。 5. Android多媒体开发: - 音频播放:使用MediaPlayer进行音频播放。 - 视频播放:使用VideoView或ExoPlayer进行视频播放。 - 相机和相册:使用Camera或Camera2 API进行拍照和录制视频。 6. Android传感器: - 加速度传感器、光传感器、陀螺仪等的使用。 7. Android地图和定位: - 使用Google Maps API进行地图显示和定位功能的开发。 以上仅为Android知识点的概要,实际开发中还涉及更多的内容。希望以上信息对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值