Android 기본 사항 부동 버튼 및 상태 표시줄 알림
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;
29. 사진 끌기
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); }
31. 안드로이드 팝업 레이어 [팝업창] 코드
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 클래스 로딩에는 부트 스트랩, 확장 및 응용 프로그램 클래스 로더가있는 계층 적 시스템을 사용하여 클래스로드, 링크 및 초기화 클래스가 포함됩니다. 학부모 위임 모델은 핵심 클래스가 먼저로드되어 사용자 정의 클래스 LOA에 영향을 미치도록합니다.

이 기사는 카페인 및 구아바 캐시를 사용하여 자바에서 다단계 캐싱을 구현하여 응용 프로그램 성능을 향상시키는 것에 대해 설명합니다. 구성 및 퇴거 정책 관리 Best Pra와 함께 설정, 통합 및 성능 이점을 다룹니다.

이 기사는 Lambda 표현식, 스트림 API, 메소드 참조 및 선택 사항을 사용하여 기능 프로그래밍을 Java에 통합합니다. 간결함과 불변성을 통한 개선 된 코드 가독성 및 유지 관리 가능성과 같은 이점을 강조합니다.

이 기사는 캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA를 사용하는 것에 대해 설명합니다. 잠재적 인 함정을 강조하면서 성능을 최적화하기위한 설정, 엔티티 매핑 및 모범 사례를 다룹니다. [159 문자]

이 기사에서는 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 및 Gradle을 사용하여 접근 방식과 최적화 전략을 비교합니다.

이 기사에서는 선택기와 채널을 사용하여 단일 스레드와 효율적으로 처리하기 위해 선택기 및 채널을 사용하여 Java의 NIO API를 설명합니다. 프로세스, 이점 (확장 성, 성능) 및 잠재적 인 함정 (복잡성,

이 기사에서는 Maven 및 Gradle과 같은 도구를 사용하여 적절한 버전 및 종속성 관리로 사용자 정의 Java 라이브러리 (JAR Files)를 작성하고 사용하는 것에 대해 설명합니다.

이 기사는 네트워크 통신을위한 Java의 소켓 API, 클라이언트 서버 설정, 데이터 처리 및 리소스 관리, 오류 처리 및 보안과 같은 중요한 고려 사항에 대해 자세히 설명합니다. 또한 성능 최적화 기술, i
