1. 웹페이지 열기
Uri uri = Uri.parse("http://www.php.cn"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it);
2. 웹페이지 콘텐츠 가져오기
public String posturl(String url){ InputStream is = null; String result = ""; try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); }catch(Exception e){ return "Fail to establish http connection!"+e.toString(); } try{ BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8")); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); }catch(Exception e){ return "Fail to convert net stream!"; } return result; }
3. hyperlink
textView1.setText(Html.fromHtml("<a href='http://www.php.cn'>php中文网 </a>")); textView1.setMovementMethod(LinkMovementMethod.getInstance());
4. 네트워크 액세스를 허용하세요
<uses-permission android:name="android.permission.INTERNET" />
5. 간단한 메시지 상자
new AlertDialog.Builder(this) .setTitle("标题") .setMessage("简单消息框") .setPositiveButton("确定", null) .show();
6. 확인 및 취소 대화 상자
new AlertDialog.Builder(this) .setTitle("确认") .setMessage("确定吗?") .setPositiveButton("是", null) .setNegativeButton("否", null) .show();
7. 입력 상자가 있는 대화 상자
new AlertDialog.Builder(this) .setTitle("请输入") .setIcon(android.R.drawable.ic_dialog_info) .setView(new EditText(this)) .setPositiveButton("确定", null) .setNegativeButton("取消", null) .show();
8. 라디오 버튼이 있는 대화 상자
new AlertDialog.Builder(this) .setTitle("请选择") .setIcon(android.R.drawable.ic_dialog_info) .setSingleChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } } ) .setNegativeButton("取消", null) .show();
9. 여러 선택 상자가 있는 대화 상자
new AlertDialog.Builder(this) .setTitle("多选框") .setMultiChoiceItems(new String[] {"选项1","选项2","选项3","选项4"}, null, null) .setPositiveButton("确定", null) .setNegativeButton("取消", null) .show();
10. 목록 상자가 있는 대화 상자
new AlertDialog.Builder(this) .setTitle("列表框") .setItems(new String[] {"列表项1","列表项2","列表项3"}, null) .setNegativeButton("确定", null) .show();
11. 액자
ImageView img = new ImageView(this); img.setImageResource(R.drawable.ic_launcher); new AlertDialog.Builder(this) .setTitle("图片框") .setView(img) .setPositiveButton("确定", null) .show();
12. 짧은 프롬프트 상자가 나타납니다
public void alert(String txt){ Toast.makeText(MainActivity.this,txt, 1).show(); }
13. URL 트랜스코딩
public String urlencode(String str) throws UnsupportedEncodingException{ return java.net.URLEncoder.encode(str, "utf-8"); }
14. URL 디코딩
public String urldecode(String str) throws UnsupportedEncodingException{ return java.net.URLDecoder.decode(str, "utf-8"); }
15. 웹페이지 소스코드 받기
//得到二进制数据 public String getDatas(String path) throws Exception{ // 类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。 URL url = new URL(path); // 每个 HttpURLConnection 实例都可用于生成单个请求, //但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //设置 URL 请求的方法 conn.setRequestMethod("GET"); //设置一个指定的超时值(以毫秒为单位), //该值将在打开到此 URLConnection 引用的资源的通信链接时使用。 conn.setConnectTimeout(5 * 1000); // conn.getInputStream()返回从此打开的连接读取的输入流 InputStream inStream = conn.getInputStream();// 通过输入流获取html数据 byte[] data = readInputStream(inStream);// 得到html的二进制数据 String html = new String(data); return html; } //读取输入流中的数据,返回字节数组byte[] public byte[] readInputStream(InputStream inStream) throws Exception{ //此类实现了一个输出流,其中的数据被写入一个 byte 数组 ByteArrayOutputStream outStream = new ByteArrayOutputStream(); // 字节数组 byte[] buffer = new byte[1024]; int len = 0; //从输入流中读取一定数量的字节,并将其存储在缓冲区数组buffer 中 while ((len = inStream.read(buffer)) != -1) { // 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流 outStream.write(buffer, 0, len); } inStream.close(); //toByteArray()创建一个新分配的 byte 数组。 return outStream.toByteArray(); }
16. 웹 사진 표시
public Bitmap returnBitMap(String url) { URL myFileUrl = null; Bitmap bitmap = null; try { myFileUrl = new URL(url); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection(); conn.setDoInput(true); conn.connect(); InputStream is = conn.getInputStream(); bitmap = BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return bitmap; } ImageView imView = (ImageView) findViewById(R.id.pic1); imView.setImageBitmap(returnBitMap("https://img.php.cn/upload/course/000/001/120/595af5fa9f34f845.png"));
17. 버튼클릭 이벤트
//登录检测 Button button=(Button)findViewById(R.id.button1); button.setOnClickListener(new OnClickListener(){ public void onClick(View v){ } }); //登录检测
18. 대화 듣기 이벤트
new AlertDialog.Builder(this) .setTitle("亲,是否退出?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub alert("你点了确定"); }}) .setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub alert("你已经取消了"); }}) .show(); public void alert(String txt){ Toast.makeText(this,txt, 1).show(); }
19. 안드로이드 종료 프로그램
private void showTips() { AlertDialog alertDialog = new AlertDialog.Builder(this) .setTitle("退出程序").setMessage("是否退出程序") .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { finish(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { return; } }).create(); // 创建对话框 alertDialog.show(); // 显示对话框 } public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { showTips(); return false; } return super.onKeyDown(keyCode, event); }
20. Android WebView 구성 요소
WebView mWebView = new WebView(this); mWebView.setWebViewClient(new webViewClient());//调用自身打开 mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("http://www.php.cn/member/1.html"); setContentView(mWebView); class webViewClient extends WebViewClient{ //重写shouldOverrideUrlLoading方法,使点击链接后不使用其他的浏览器打开。 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); //如果不需要其他对点击链接事件的处理返回true,否则返回false return true; } }
21. 매개변수 없는 활동 점프
Intent it = new Intent(Activity.Main.this, Activity2.class); startActivity(it);
22. 데이터를 다음 활동으로 전달합니다(Bundle 및 Intent.putExtras 사용).
Intent it = new Intent(Activity.Main.this, Activity2.class); Bundle bundle=new Bundle(); bundle.putString("name", "This is from MainActivity!"); it.putExtras(bundle); // it.putExtra(“test”, "shuju”); startActivity(it); // startActivityForResult(it,REQUEST_CODE);
데이터 수집의 경우 다음을 사용할 수 있습니다.
Bundle bundle=getIntent().getExtras(); String name=bundle.getString("name");
23. 결과를 이전 활동으로 반환합니다(startActivityForResult(it, REQUEST_CODE)에 의해 시작된 활동의 경우 setResult 사용)
Intent intent=getIntent(); Bundle bundle2=new Bundle(); bundle2.putString("name", "This is from ShowMsg!"); intent.putExtras(bundle2); setResult(RESULT_OK, intent);
24. 이전 Activity(onActivityResult)
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { // TODO Auto-generated method stub super.onActivityResult(requestCode, resultCode, data); if (requestCode==REQUEST_CODE){ if(resultCode==RESULT_CANCELED) setTitle("cancle"); else if (resultCode==RESULT_OK) { String temp=null; Bundle bundle=data.getExtras(); if(bundle!=null) temp=bundle.getString("name"); setTitle(temp); } } }
25의 결과 처리 함수를 콜백합니다. 안드로이드 Timer
Timer timer = new Timer(); timer.schedule(task,10000,2000); TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: alert("hear me?"); break; } super.handleMessage(msg); } };
26. Android
MediaPlayer mediaPlayer = new MediaPlayer(); Uri uri = Uri .parse("http://www.php.cn/asset/1.mp3"); try { mediaPlayer.setDataSource(Sound.this, uri); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { mediaPlayer.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } mediaPlayer.start();
27용 배경 음악을 삽입하세요. int 및 문자열 변환
1 문자열을 정수로 변환하는 방법
1) int i = Integer.parseInt([String]); parseInt([String],[int radix]);
2).int i = Integer.valueOf(my_str).intValue();
참고: 문자열을 Double, Float 및 Long으로 변환하는 방법은 비슷합니다.
2 정수를 문자열로 변환하는 방법
A. 세 가지 방법이 있습니다:
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i ) ;
3.) String s = "" + i;
참고: Double, Float 및 Long을 문자열로 변환하는 방법은 비슷합니다.
28. 화면 너비와 높이를 가져옵니다
DisplayMetrics dm = getResources().getDisplayMetrics(); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels - 50;
private int screenWidth; private int screenHeight; private ImageView img1; private ImageView img2; img1 = (ImageView) findViewById(R.id.imageView1); img2 = (ImageView) findViewById(R.id.imageView2); DisplayMetrics dm = getResources().getDisplayMetrics(); screenWidth = dm.widthPixels; screenHeight = dm.heightPixels - 50; img1.setOnTouchListener(movingEventListener); img2.setOnTouchListener(movingEventListener); private OnTouchListener movingEventListener = new OnTouchListener() { int lastX, lastY; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE: int dx = (int) event.getRawX() - lastX; int dy = (int) event.getRawY() - lastY; int left = v.getLeft() + dx; int top = v.getTop() + dy; int right = v.getRight() + dx; int bottom = v.getBottom() + dy; // 设置不能出界 if (left < 0) { left = 0; right = left + v.getWidth(); } if (right > screenWidth) { right = screenWidth; left = right - v.getWidth(); } if (top < 0) { top = 0; bottom = top + v.getHeight(); } if (bottom > screenHeight) { bottom = screenHeight; top = bottom - v.getHeight(); } v.layout(left, top, right, bottom); lastX = (int) event.getRawX(); lastY = (int) event.getRawY(); break; case MotionEvent.ACTION_UP: break; } return true; } };
30. 상태 표시줄 알림 메시지 프롬프트 코드
private void addNotificaction(int id) { NotificationManager manager = (NotificationManager) this .getSystemService(Context.NOTIFICATION_SERVICE); // 创建一个Notification Notification notification = new Notification(); // 设置显示在手机最上边的状态栏的图标 notification.icon = R.drawable.ic_launcher; // 当当前的notification被放到状态栏上的时候,提示内容 notification.tickerText = "注意了,我被扔到状态栏了"; // 添加声音提示 notification.defaults=Notification.DEFAULT_SOUND; // audioStreamType的值必须AudioManager中的值,代表着响铃的模式 notification.audioStreamType= android.media.AudioManager.ADJUST_LOWER; //下边的两个方式可以添加音乐 //notification.sound = Uri.parse("http://www.php.cn/asset/1.mp3"); //notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6"); Intent intent = new Intent(this, functions.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); // 点击状态栏的图标出现的提示信息设置 notification.setLatestEventInfo(this, "内容提示:", "我就是一个测试文件", pendingIntent); manager.notify(id, notification); }
private void showPopUp(View v) { LinearLayout layout = new LinearLayout(this); layout.setBackgroundColor(Color.GRAY); TextView tv = new TextView(this); tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); tv.setText("I'm a pop -----------------------------!"); tv.setTextColor(Color.WHITE); layout.addView(tv); PopupWindow popupWindow = new PopupWindow(layout,120,120); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.setBackgroundDrawable(new BitmapDrawable()); int[] location = new int[2]; v.getLocationOnScreen(location); popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight()); } showPopUp(LayoutInflater.from(getBaseContext()).inflate(R.layout.popview, null));
32. Android는 새로운 xml 레이아웃 파일
LayoutInflater.from(getBaseContext()).inflate(R.layout.popview, null);
33을 통해 뷰 객체를 얻습니다. 호버 기능을 위해 필요한 권한
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
34. 플로팅 버튼 추가
权限 <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> WindowManager wm=(WindowManager)getApplicationContext().getSystemService("window"); WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams(); wmParams.type=2002; //type是关键,这里的2002表示系统级窗口,你也可以试试2003。 wmParams.format=1; wmParams.flags=40; wmParams.width=40; wmParams.height=40; wm.addView(LayoutInflater.from(getBaseContext()).inflate(R.layout.popview, null), wmParams);//创建View
이 글은 PHP 중국 웹사이트 사용자 "Ty80"이 제공한 것입니다. 원본 주소: http://www.php.cn/java-article-374028.html
PHP 배우기 그냥 PHP 중국어 웹사이트로 가세요.
위 내용은 Android 기본 사항 부동 버튼 및 상태 표시줄 알림의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!