安卓实训第五天

首先讲了如何将文件上传到SD卡中:

package com.example.lesson05_02;

import java.io.File;

import java.io.FileNotFoundException;

import org.apache.http.Header;

import android.app.Activity;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import com.loopj.android.http.AsyncHttpClient;

import com.loopj.android.http.AsyncHttpResponseHandler;

import com.loopj.android.http.RequestParams;

public class MainActivity extends Activity implements OnClickListener{

private EditText et_file;

private Button btn_upload;

private EditText et_username;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

btn_upload = (Button) findViewById(R.id.btn_upload);

et_file = (EditText) findViewById(R.id.et_file);

et_username = (EditText) findViewById(R.id.edit_username);

btn_upload.setOnClickListener(this);

}

@Override

public void onClick(View v) {

int id =v.getId();

switch (id) {

case R.id.btn_upload:

String path =et_file.getText().toString();

if(TextUtils.isEmpty(path.trim())){

Toast.makeText(this, "上传的文件不能为空", Toast.LENGTH_LONG).show();

}else{

//异步客户端对象

AsyncHttpClient client = new AsyncHttpClient();

String url="http://172.16.237.144:8080/Login/UploadServlet";

//封装文件上传的参数

RequestParams params = new RequestParams();

//根据路径创建文件

File file = new File(path);

try {

//放入文件

params.put("profile_picture", file);

//1、修改这个名称,看能否上传成功

//2、添加上传者的姓名

} catch (FileNotFoundException e) {

System.out.println("文件不存在");

e.printStackTrace();

}

client.post(url, params,new AsyncHttpResponseHandler(){

@Override

public void onFailure(int statusCode, Header[] headers, byte[] responseBody,

Throwable error) {

error.printStackTrace();

}

@Override

public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {

Toast.makeText(MainActivity.this, "文件上传成功!", 1).show();

}

});

}

break;

default:

break;

}

}

}

然后分别使用AsynvHttpClient 还有smart-image-view来完成图片查看器:

//不适用SMART IMAGE之前:

/*

public void sendGetImg(View v){

int id= v.getId();

switch (id) {

case R.id.btn_img:

String url = et_url.getText().toString();

//发送网络请求

AsyncHttpClient client = new AsyncHttpClient();

client.get(url,new AsyncHttpResponseHandler(){

@Override

public void onFailure(int statusCode, Header[] headers, byte[] responseBody,

Throwable errors) {

errors.printStackTrace();

}

@Override

public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {

if(statusCode==200){

//创建字节工厂对象N

BitmapFactory bitmapFactory = new BitmapFactory();

@SuppressWarnings("static-access")

Bitmap bitmap = bitmapFactory.decodeByteArray(responseBody, 0, responseBody.length);

iv_img.setImageBitmap(bitmap);

}

}

});

break;

default:

break;

}

}

*/

//使用smart image包之后

public void sendGetImg(View v){

int id= v.getId();

switch (id) {

case R.id.btn_img:

String url = et_url.getText().toString();

iv_img.setImageUrl(url, R.drawable.ic_launcher,R.drawable.ic_launcher);

break;

default:

break;

}

}

安卓实训第五天,布布扣,bubuko.com

时间: 2024-08-07 21:18:12

安卓实训第五天的相关文章

安卓实训第九天---Activity的复习以及在Onstart里设置网络连接

今天,首先对Activity的生命周期进行复习: (下面的截图部分是借鉴自赵雅智老师的博客...) Activity的完整生命周期自第一次调用onCreate()开始,直至调用onDestroy()为止.Activity在onCreate()中设置所有"全局"状态以完成初始化,而在onDestroy()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程,而在 onDestroy()销毁线程. 刚进入activity: 按

安卓实训第十四天---使用ContentProvider共享数据,并且利用ContentResolver监听共享数据

ContentProvider: 一.当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferences API读写数据.而使用ContentProvider共享数据的好处是统一了数据访问方式. 第二步需要在AndroidManif

安卓实训第十天:利用SharedPreferences来实现数据的保存和读取,以及实现手机电话备份,XMLserializer

一.利用SharedPreferences来实现数据的保存和读取: 1.Mainactivity: package com.example.sharedpreferencesdemo; import com.example.sharedpreferencesdemo.util.SharedPreferencesUtil; import android.app.Activity; import android.app.AlertDialog; import android.content.Cont

安卓实训第四天--基于HttpClient来完成数据在服务器和设备间的交互。

上午:老师首先回顾了昨天作业. 首先在安卓工程中的TOOLS文件中,解析字节流那里,不用改变,而是把服务器端的编码方式变为UTF-8,然后将在安卓工程的LoginActivity类中的USERNAME给他强制转换下. 总结一句话:如果一个字符通过某个编码转换成字节码之后,那你在转换的时候必须拿到转换之前的字节码 补充:如何改变mysql连接工具的编码方式: jdbc:mysql://localhost:3306/databasename?useUnicode=true&characterEnco

安卓实训第八天----Activity的生命周期

一.Activity的使用: package com.example.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class FirstActivity exte

<实训|第五天>通过搭建NFS,FTP实现共享文件附Vim脚本游戏

先说个事情:我周末是不更新这个系列教程的,不过其他内容的会更新,我周末就整理这一周的各种内容到我的微信公众号中,提供给大家! 期待已久的linux运维.oracle"培训班"终于开班了,小编从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到了什么知识点,用了什么方法,使用了什么工具,工具在哪里共享着等等,努力做到让每一位感兴趣的老司机都能在自己闲暇的时光学到一点额外的知识,指不定那一天你就用上了少许呢! 感谢大家的支持

安卓实训第四天--基于HttpClient来完毕数据在server和设备间的交互。

上午:老师首先回想了昨天作业. 首先在安卓project中的TOOLS文件里,解析字节流那里,不用改变.而是把server端的编码方式变为UTF-8,然后将在安卓project的LoginActivity类中的USERNAME给他强制转换下. 总结一句话:假设一个字符通过某个编码转换成字节码之后,那你在转换的时候必须拿到转换之前的字节码 补充:怎样改变mysql连接工具的编码方式: jdbc:mysql://localhost:3306/databasename?useUnicode=true&

实训第五天--The great pleasure in life is doing what people say you cannot do

回顾:1.变量 用于指代内存中的一块区域 作用:存数2.声明 类型 变量名 int a,b 3.初始化 int a=10: 4.命名 不能以数字开头的 字母 数字 _ $ 不能使用关键字 goto const 区分大小写 sql 可以使用中文,不建议 知识点: KB(千字节) java基本数据类型 整数类型 byte 1字节 short 2字节 int 4个字节-----负21个多亿到21多个亿 1.1)整数直接量,默认为int型,不能超范围 1.2)两个整数相除,小数点无条件舍弃 1.3)运算

实训第五天

今天,我们进行了有关大数据的培训,知道了什么是大数据,指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力来适应海量.高增长率和多样化的信息资产.大数据的5V特点:Volume(大量).Velocity(高速).Variety(多样).Value(价值).Veracity(真实性).了解了大数据的应用和趋势,以及大数据的IT分析工具(Hadoop).用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的