[Android]简单的在线翻译应用
2015-08-28 10:07
591 查看
总结一下本周的学习内容: URLConnection , JSONobject, AsyncTasks, 有道API使用
好吧现在开始。
画个布局, 一个TextView, 一个EditView, 一个button。
好吧现在开始。
画个布局, 一个TextView, 一个EditView, 一个button。
package com.goafter.learninghttpandjson; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; public class MainActivity_HttpGet extends AppCompatActivity { Button btnSearch; TextView tvResult; EditText etWord; String line,url; StringBuilder builder; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_activity__http_get); btnSearch = (Button) findViewById(R.id.btnSearch); tvResult = (TextView)findViewById(R.id.tvDisplayResult); etWord = (EditText)findViewById(R.id.etWord); btnSearch.setOnClickListener(new Search()); } class Search implements View.OnClickListener{ @Override public void onClick(View v) { String word = etWord.getText().toString(); url = UrlConst.YOUDAOAPI + word; update(); } public void update(){ new AsyncTask<String,Void,StringBuilder>(){ @Override protected StringBuilder doInBackground(String... params) { try { URL url = new URL(params[0]); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); InputStreamReader isr = new InputStreamReader(is,"utf-8"); BufferedReader br = new BufferedReader(isr); builder = new StringBuilder(); while((line = br.readLine()) != null){ builder.append(line); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return builder; } @Override protected void onPostExecute(StringBuilder stringBuilder) { super.onPostExecute(stringBuilder); try { JSONObject jsonObject = new JSONObject(builder.toString()).getJSONObject("basic"); //String explains = new String(jsonObject.getString("explains")); JSONArray array = jsonObject.getJSONArray("explains"); String result1 = ""; for (int i=0;i<array.length();i++){ Log.e("1111111",array.getString(i)); result1 += array.getString(i)+"\r\n"; } tvResult.setText(result1); } catch (JSONException e) { e.printStackTrace(); } } }.execute(url); } } }
相关文章推荐
- Android 之 Activity全屏
- Android读取src下的文件
- Android Studio导入项目的几种方法
- Android ADB命令大全
- android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window com.android.
- Android 项目开发
- android有时候利用view进行多个传值
- 为什么要加 android.intent.category.DEFAULT
- Android socket 编程实例
- TabWidget/FragmentTabHost去掉分割线:
- anddroid程序创建桌面快捷键
- Android Studio快捷键
- android手机安装*.cer文件、证书
- Android 如何全局获取Context
- android使用Notification进行通知时有时候通知栏中的项背景是灰白的的
- android adapter的notifyDataSetChanged不起作用
- Android离线打包
- Android studio的下载安装配置详解 (下)
- android 沉浸式布局学习
- Android应用源码比较不错的新闻客户端