`
firebow
  • 浏览: 3822 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

android尝鲜

阅读更多
做了一个例子,集成网上的内容,实现
1 计算器
2 网络资源获得
3 查询列表
4 应用跳转
package com.firebow.android.hello;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import bsh.EvalError;
import bsh.Interpreter;

public class HelloAndroid extends Activity {
	private static EditText et;
	private static Interpreter i = new Interpreter();
	HttpURLConnection uc;
	URL url;
	private static final String ip = "http://code.google.com/android/images/logo_android.gif";
	InputStream is;
	BufferedInputStream bis;
	ImageView view1;

	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		et = (EditText) findViewById(R.id.edittext);
		et.setKeyListener(etKeyListener);
		Button go_button = (Button) findViewById(R.id.go);
		go_button.setOnClickListener(goListener);
		view1 = (ImageView) findViewById(R.id.icon);
		Button next_button = (Button) findViewById(R.id.next);
		next_button.setOnClickListener(nextListener);

		Button conn_button = (Button) findViewById(R.id.conn);
		conn_button.setOnClickListener(connListener);
	}

	private OnKeyListener etKeyListener = new OnKeyListener() {

		public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
			if (arg2.getKeyCode() == KeyEvent.KEYCODE_NEWLINE) {
				calculator();
				return true;
			}
			return false;
		}

	};
	private OnClickListener goListener = new OnClickListener() {
		public void onClick(View v) {
			calculator();
		}
	};

	private void calculator() {
		String input = et.getText().toString();
		((EditText) findViewById(R.id.result)).setText(eval(input).toString());
	}

	private OnClickListener connListener = new OnClickListener() {
		public void onClick(View v) {

			openConn();
			sendRequest();
			getRespones();
			closeConn();

		}
	};
	private OnClickListener nextListener = new OnClickListener() {
		public void onClick(View v) {
			Intent intent = new Intent(HelloAndroid.this, AddressTable.class);
			startActivity(intent);
//			 setContentView(R.layout.address);

		}
	};

	// 用beanshell来做算式计算
	private Object eval(String input) {
		try {
			return i.eval(input);
		} catch (EvalError e) {
			return e.getMessage();
		}
	}

	private void openConn() {
		try {
			url = new URL(ip);
			uc = (HttpURLConnection) url.openConnection();
			uc.setDoInput(true);

		} catch (MalformedURLException e) {
			
			e.printStackTrace();
		} catch (IOException e) {
			
			e.printStackTrace();
		}

	}

	private void sendRequest() {
		try {
			uc.connect();

		} catch (IOException e) {
			
			e.printStackTrace();
		}
	}

	private void getRespones() {

		try {
			is = uc.getInputStream();
			Log.d("lenght", "" + uc.getContentLength());

			bis = new BufferedInputStream(is);

			Bitmap bm = BitmapFactory.decodeStream(bis);

			view1.setImageBitmap(bm);

		} catch (IOException e1) {
			
			e1.printStackTrace();
		}

	}

	private void closeConn() {
		try {
			uc.disconnect();
			bis.close();
			is.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}

	}
}

package com.firebow.android.hello;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnKeyListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import bsh.EvalError;
import bsh.Interpreter;

public class HelloAndroid extends Activity {
	private static EditText et;
	private static Interpreter i = new Interpreter();
	HttpURLConnection uc;
	URL url;
	private static final String ip = "http://code.google.com/android/images/logo_android.gif";
	InputStream is;
	BufferedInputStream bis;
	ImageView view1;

	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		et = (EditText) findViewById(R.id.edittext);
		et.setKeyListener(etKeyListener);
		Button go_button = (Button) findViewById(R.id.go);
		go_button.setOnClickListener(goListener);
		view1 = (ImageView) findViewById(R.id.icon);
		Button next_button = (Button) findViewById(R.id.next);
		next_button.setOnClickListener(nextListener);

		Button conn_button = (Button) findViewById(R.id.conn);
		conn_button.setOnClickListener(connListener);
	}

	private OnKeyListener etKeyListener = new OnKeyListener() {

		public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
			if (arg2.getKeyCode() == KeyEvent.KEYCODE_NEWLINE) {
				calculator();
				return true;
			}
			return false;
		}

	};
	private OnClickListener goListener = new OnClickListener() {
		public void onClick(View v) {
			calculator();
		}
	};

	private void calculator() {
		String input = et.getText().toString();
		((EditText) findViewById(R.id.result)).setText(eval(input).toString());
	}

	private OnClickListener connListener = new OnClickListener() {
		public void onClick(View v) {

			openConn();
			sendRequest();
			getRespones();
			closeConn();

		}
	};
	private OnClickListener nextListener = new OnClickListener() {
		public void onClick(View v) {
			Intent intent = new Intent(HelloAndroid.this, AddressTable.class);
			startActivity(intent);
//			 setContentView(R.layout.address);

		}
	};

	// 用beanshell来做算式计算
	private Object eval(String input) {
		try {
			return i.eval(input);
		} catch (EvalError e) {
			return e.getMessage();
		}
	}

	private void openConn() {
		try {
			url = new URL(ip);
			uc = (HttpURLConnection) url.openConnection();
			uc.setDoInput(true);

		} catch (MalformedURLException e) {
			
			e.printStackTrace();
		} catch (IOException e) {
			
			e.printStackTrace();
		}

	}

	private void sendRequest() {
		try {
			uc.connect();

		} catch (IOException e) {
			
			e.printStackTrace();
		}
	}

	private void getRespones() {

		try {
			is = uc.getInputStream();
			Log.d("lenght", "" + uc.getContentLength());

			bis = new BufferedInputStream(is);

			Bitmap bm = BitmapFactory.decodeStream(bis);

			view1.setImageBitmap(bm);

		} catch (IOException e1) {
			
			e1.printStackTrace();
		}

	}

	private void closeConn() {
		try {
			uc.disconnect();
			bis.close();
			is.close();
		} catch (IOException e) {
			
			e.printStackTrace();
		}

	}
}

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
     <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
 <EditText id="@+id/edittext"  
     android:layout_width="200dip"  
     android:layout_height="wrap_content"  
     android:digits="1234567890.+-*/%\n()"  
     android:text=""  
     />
      <Button id="@+id/go"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="计算"  
     /> 
     </LinearLayout>
     <EditText id="@+id/result"  
     android:layout_width="fill_parent"  
     android:layout_height="wrap_content"  
     android:digits="1234567890.+-*/%\n()"  
     android:text=""  
     />
    
     <Button id="@+id/next"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="下一个"  
     /> 
     <Button id="@+id/conn"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="联网"  
     /> 
     <ImageView id="@+id/icon"
        android:layout_marginTop="40dip"
    android:layout_width="wrap_content"
android:layout_height="wrap_content" /> 
</LinearLayout>
</ScrollView>




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
 <EditText id="@+id/edittext"  
     android:layout_width="200dip"  
     android:layout_height="wrap_content"  
    
     android:text=""  
     />
      <Button id="@+id/go"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:text="查询"  
     /> 
     </LinearLayout>
     <ListView id="@id/android:list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>





<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.firebow.android.hello">
    <application android:icon="@drawable/icon">
        <activity class=".HelloAndroid" android:label="@string/app_name">
            <intent-filter>
                <action android:value="android.intent.action.MAIN" />
                <category android:value="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity class=".AddressTable" android:label="@string/app_name">
            <intent-filter>
                <action android:value="android.intent.action.MAIN" />
                <category android:value="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 
分享到:
评论

相关推荐

    Android4.4新功能尝鲜

    Android 4.4 KitKat版本是谷歌在移动操作系统领域的一次重要更新,其更新内容涵盖了对平台基础能力的提升、核心应用入口的强化、借鉴App丰富场景的思路以及整合App以提升用户体验。新版本针对旧版本的不足之处进行...

    尝鲜Android 4.0 PC端虚拟机安装指南.docx

    Android 4.0 PC端虚拟机安装指南 Android 4.0 是Google推出的最新一代移动操作系统,作为手机与平板通吃的一代新操作系统,体验方面也有着大幅的提升。本文将指导读者在PC端安装Android 4.0虚拟机,体验最新的...

    取代Windows?两款Android-x86桌面系统尝鲜测试.pdf

    取代Windows?两款Android-x86桌面系统尝鲜测试.pdf

    android-x86_64-7.1-r2.isoandandroid-x86_64-8.1-rc2.iso

    - **个人使用**:对于喜欢尝鲜的用户来说,这也是一个不错的选择,可以在PC上运行Android系统,享受大屏体验。 - **模拟器替代方案**:对于那些不喜欢使用第三方模拟器(如Genymotion或BlueStacks)的用户,这些ISO...

    基于Android平台的“尝鲜”APP设计与实现.pdf

    【基于Android平台的“尝鲜”APP设计与实现】是一款以Android操作系统为基础的移动应用程序,主要目的是为了帮助企业推出新产品并收集市场反馈。该APP利用Java编程语言进行开发,借助Android Studio这一集成开发环境...

    android2.2升级2.2.1

    目前用于Nexus One的Android2.2.1的升级包,升级与官方OTA升级的方法一致,这...提示:由于目前升级内容还不清楚,此方法只适用于喜欢尝鲜的网友使用。刷机有风险请三思后而行,由于刷机造成的任何后果由用户自行承担。

    android-studio-2021.1.1.10-windows.zip

    Bumblebee是其2021年的一个重要版本,Canary 9则表示这是该版本的第9个预发布版本,通常预发布版本会包含最新的特性、改进和bug修复,但可能不够稳定,适合开发者测试和尝鲜。 在“android-studio-2021.1.1.10-...

    Android代码-综合资讯APP

    当时尝鲜Android studio beta版,做的这个开源项目An Android app for Android studio beta. 效果预览Preview 开源库Open source projects PullLoadMoreRecyclerView AndroidUtils Shimmer-android ButterKnife ...

    Android-x86-6.0-r3.iso(老机器可试)

    可尝鲜体验,兼容性不错

    Android代码-BasePedo

    android 计步器(想尝鲜的小伙伴可以选择develop分支哦,代码更迭快,不能保证稳定,大家一起来挑bug么! ) 这是一个通过android手机来模拟计步器的软件,市面上开源的计步代码不多,有些计步误差较大,我希望可以...

    大胆尝姜饼:HTC Legend G6开刷Android 2.3.doc

    【Android 2.3 Gingerbread 知识点详解】 Android 2.3 Gingerbread,简称姜饼,是谷歌推出的一个重要版本的Android操作系统...对于喜欢尝鲜的HTC Legend G6用户,刷入Android 2.3可以让他们享受到最新系统的各项优势。

    Android项目源码高仿脸萌安卓拼脸app源码

    本项目是一个仿安卓脸萌app应用的源码,脸萌是一款非常有趣的拼脸软件,即使...其他部分可以用,感兴趣的朋友可以免费下载尝鲜。appcodes.cn之前也发布过很多类似的项目,可以在appcodes.cn首页右侧涂鸦绘画分类下寻找

    android4.4插件

    如果你想尝鲜android4.4的靓丽界面,这个插件是最佳选择

    MaterialQQ Lite_v0.3(尝鲜版)

    MaterialQQ Lite_v0.3 尝鲜版 当前版本:0.3 软件语言:中文软件 类别:QQ软件 大小:2.22 MB 适用固件:4.0及更高固件 适用平台:Android 介绍 MaterialQQ Lite是一款根据开源项目Ming QQ的基础上修改得来的第...

    详解Android Studio无法检测新版本问题解决

    想第一时间尝鲜的开发人员可以选择这个渠道。 2. Dev Channel(开发者版本):到了这个版本很多 BUG 已经得到了解决。 3. Beta Channel(测试版):BUG 出现概率相对较小。 4. Stable Channel(稳定版):官方发布的...

    BasePedo:android计步功能初探

    android计步器(想尝鲜的小伙伴可以选择开发分支哦,代码更迭快,不能保证稳定,大家一起来挑bug么!) 这是一个通过android手机来模拟计步器的软件,市面上开源的计步代码不多,有些计步误差突破,我希望可以做一个...

    安卓系统安装镜像大全

    总之,“安卓系统安装镜像大全”为用户提供了丰富的选择,无论是想要尝鲜新版本,还是修复问题,或者追求个性化定制,都能找到适合的解决方案。但务必注意,不正确的刷机操作可能会导致设备变砖,因此在操作前务必...

    nbandroid 1.5

    这个1.5版本是其最新的更新,虽然标记为Beta版,意味着它可能包含一些未经过完整测试的新功能和改进,但对于热衷于尝试新特性的开发者来说,这是一个极好的尝鲜机会。 NetBeans IDE本身是一款开源的集成开发环境...

Global site tag (gtag.js) - Google Analytics