編輯:關於Android編程
第一行代碼Android學習:第十部分主要涉及到WebView、Http協議訪問網絡、解析JSON格式數據、LocationManager的基本用法
1.DYHDM_10_00NetworkTest
activity_main.xml
MainActivity.java
package com.example.dyhdm_10_00networktest; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.lang.reflect.Type; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import org.json.JSONArray; import org.json.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.webkit.WebView; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private WebView webView; public static final int SHOW_RESPONSE = 0; private Button sendResquest; private TextView responseText; private Handler handler = new Handler() { public void handleMessage(android.os.Message msg) { switch (msg.what) { case SHOW_RESPONSE: String response = (String) msg.obj; responseText.setText(response); // parseJSONWithJSONObject(response); parseJSONWithGSON(response); break; default: break; } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* * webView = (WebView) findViewById(R.id.wv); // 讓WebView支持JavaScript腳本 * webView.getSettings().setJavaScriptEnabled(true); * webView.setWebViewClient(new WebViewClient() { // * 當需要從一個網頁跳到另一個網頁,目標網頁仍在當前WebView中打開 * * @Override public boolean shouldOverrideUrlLoading(WebView view, * String url) { view.loadUrl(url); return true;// * 當前WebView可以處理打開新網頁的請求,不借助系統浏覽器 } }); * webView.loadUrl("http://www.baidu.com"); */ sendResquest = (Button) findViewById(R.id.bt_send_request); responseText = (TextView) findViewById(R.id.tv_response); sendResquest.setOnClickListener(this); } /** * TODO 解析JSON數據,用GSON * * @throw * @return void */ protected void parseJSONWithGSON(String response) { Gson gson = new Gson(); List
2.DYHDM_11_00LocationTest
AndroidManifest.xmlactivity_main.xml
MainActivity.java
package com.example.dyhdm_11_00locationtest; import java.util.List; import android.app.Activity; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private TextView postionTextView; private LocationManager locationManager; private String provider; LocationListener locationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { } @Override public void onProviderDisabled(String provider) { } @Override public void onLocationChanged(Location location) { showLocation(location); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); postionTextView = (TextView) findViewById(R.id.position_test_view); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // 獲取所有可用的位置提供器 ListprovidderList = locationManager.getProviders(true); if (providderList.contains(LocationManager.GPS_PROVIDER)) { provider = LocationManager.GPS_PROVIDER; } else if (providderList.contains(LocationManager.NETWORK_PROVIDER)) { provider = LocationManager.NETWORK_PROVIDER; } else { // 當沒有可用的位置提供器時,彈出Toast提示用戶 Toast.makeText(this, "No location provider to use", Toast.LENGTH_SHORT).show(); return; } Location location = locationManager.getLastKnownLocation(provider); if (location != null) { showLocation(location); } // 四個參數 // 第一個:位置提供器的類型 // 第二個:監聽位置變化的事件間隔 // 第三個:移動距離 // 第四個:監聽器 locationManager.requestLocationUpdates(provider, 5000, 1, locationListener); } /** * TODO 顯示當前位置 * * @throw * @return void */ private void showLocation(Location location) { String currentPosition = "latitude is " + location.getLatitude() + "\n" + "longitude is " + location.getLongitude(); postionTextView.setText(currentPosition); } /** * 重載方法 */ @Override protected void onDestroy() { super.onDestroy(); if (locationManager != null) { // 關閉程序時將監聽器移除 locationManager.removeUpdates(locationListener); } } }
本文實例講述了Android開發之自定義View(視圖)用法。分享給大家供大家參考,具體如下:View類是Android的一個超類,這個類幾乎包含了所有的屏幕類型。每一個
首先先上一張開發效果圖:效果是模仿微信的發送位置,項目的框架上采用mvp模式,並用了我自己寫的一套lib,地址ndileber首先界面上的開發,我簡單粘貼代碼(笑)act
本文分享自己在視頻錄制播放過程中遇到的一些問題,主要包括: 視頻錄制流程 視頻預覽及SurfaceHolder 視頻清晰度及文件大小 視頻文件旋轉 一、視頻錄制
前言 最近維護公司APP應用的登錄模塊,由於測試人員用Fiddler抓包工具抓取到了公司關於登錄時候的明文登錄信息。雖然使用的是HTTPS的方式進行http請求的,但還是