当前位置:  编程技术>移动开发
本页文章导读:
    ▪一些很不错的设计图片上载网站        一些很不错的设计图片下载网站 一些很不错的设计图片下载网站 偶然发现的,这些图片素材不比国外的差,很适合设计师用,使用时主要版权就行   jpg设计图片下载地址   抽象艺术  http://.........
    ▪ servlet下传和上载        servlet上传和下载 1.RunningUpLoader上传Bean  首先是RunningUpLoader.java,代码有些多,因为我是自己来解析输入流的。package testupload;import java.io.*;import javax.servlet.http.HttpServletRequest;public class RunningU.........
    ▪ apk命令行起动       apk命令行启动       apk命令行启动         在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am.  启动的方法为  # am start -n包(package)名/.........

[1]一些很不错的设计图片上载网站
    来源: 互联网  发布时间: 2014-02-18
一些很不错的设计图片下载网站

一些很不错的设计图片下载网站

偶然发现的,这些图片素材不比国外的差,很适合设计师用,使用时主要版权就行

 

jpg设计图片下载地址

 

抽象艺术  http://www.tutu001.com/jpg/sc_art/index.html
动物素材  http://www.tutu001.com/jpg/sc_animal/index.html
创意合成  http://www.tutu001.com/jpg/sc_idea/index.html
背景纹理  http://www.tutu001.com/jpg/sc_back/index.html
服装美容  http://www.tutu001.com/jpg/sc_clothes/index.html
家具室内  http://www.tutu001.com/jpg/sc_furniture/index.html
商业金融  http://www.tutu001.com/jpg/sc_business/index.html
食品饮料  http://www.tutu001.com/jpg/sc_food/index.html
保健医疗  http://www.tutu001.com/jpg/sc_health/index.html
假期旅游  http://www.tutu001.com/jpg/sc_travel/index.html
新闻传媒  http://www.tutu001.com/jpg/sc_news/index.html
工业科技  http://www.tutu001.com/jpg/sc_industry/index.html
自然花草  http://www.tutu001.com/jpg/sc_natural/index.html
物体图片  http://www.tutu001.com/jpg/sc_object/index.html
城市建筑  http://www.tutu001.com/jpg/sc_city/index.html
人物素材  http://www.tutu001.com/jpg/sc_people/index.html
教育宗教  http://www.tutu001.com/jpg/sc_education/index.html
符号标记  http://www.tutu001.com/jpg/sc_sign/index.html
运动休闲  http://www.tutu001.com/jpg/sc_sports/index.html
交通运输  http://www.tutu001.com/jpg/sc_traffic/index.html
中国古老  http://www.tutu001.com/jpg/sc_china/index.html

 

矢量设计素材下载地址

 

花纹/边框/背景  http://www.tutu001.com/vector/sc_patterns/index.html
网页/导航/图标  http://www.tutu001.com/vector/sc_web/index.html
节庆/假期/旅游  http://www.tutu001.com/vector/sc_holiday/index.html
广告/创意/商业  http://www.tutu001.com/vector/sc_idea/index.html
人物/表情/服装  http://www.tutu001.com/vector/sc_people/index.html
艺术/抽象/潮流  http://www.tutu001.com/vector/sc_nature/index.html
动物/植物/自然  http://www.tutu001.com/vector/sc_animal/index.html
生活/百科/食物  http://www.tutu001.com/vector/sc_life/index.html
中国/传统/文化  http://www.tutu001.com/vector/sc_culture/index.html
运动/娱乐/休闲  http://www.tutu001.com/vector/sc_sports/index.html
矢量设计稿合集  http://www.tutu001.com/vector/sc_source/index.html
插图/插画       http://www.tutu001.com/vector/sc_other/index.html

 

psd分层素材下载

 

psd分层设计素材  http://www.tutu001.com/psd/psd_sc/index.html
psd设计稿源文件  http://www.tutu001.com/psd/psd_source/index.html

 

png图标/gif动画

 

png/icon图标   http://www.tutu001.com/png/sc_icon/index.html
gif动画        http://www.tutu001.com/png/sc_gif/index.html


    
[2] servlet下传和上载
    来源: 互联网  发布时间: 2014-02-18
servlet上传和下载
1.RunningUpLoader上传Bean
  首先是RunningUpLoader.java,代码有些多,因为我是自己来解析输入流的。

package testupload;
import java.io.*;
import javax.servlet.http.HttpServletRequest;


public class RunningUpLoader {
    public RunningUpLoader() {
    }

    /**
     * 上传文件
     * @param request HttpServletRequest Servlet的请求对象
     * @param name String 要上传的文件在表单中的参数名
     * @param fileName String 保存在服务器上的文件名
     * @throws IOException
     */
    public void doUpload(HttpServletRequest request, String name,String fileName) throws
            IOException {
        InputStream in = request.getInputStream();
        byte[] buffer = getFileContent(name,in);
        FileOutputStream fos = new FileOutputStream(fileName);
        fos.write(buffer,0,buffer.length-1);
        fos.close();
    }

    /**
     * 获取上传的文件buffer,结尾处将多一个换行符
     * @param name String 文件上传参数的名字
     * @param is InputStream 服务器对话的输入流
     * @return byte[] 返回获取的文件的buffer,结尾处多一个换行符
     * @throws IOException
     */
    private byte[] getFileContent(String name, InputStream is) throws IOException{
        int index;
        boolean isEnd = false;
        byte[] lineSeparatorByte;
        byte[] lineData;
        String content_disposition;
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        BufferedInputStream bis = new BufferedInputStream(is);

        lineSeparatorByte = readStreamLine(bis);
        while(!isEnd) {
            lineData = readStreamLine(bis);
            if(lineData == null) {
                break;
            }
            content_disposition = new String(lineData,"ASCII");
            index = content_disposition.indexOf("name=\"" + name + "\"");
            if (index >= 0 && index < content_disposition.length()) {
                System.out.println(readStreamLineAsString(bis)); // skip a line
                System.out.println(readStreamLineAsString(bis)); // skip a line

                while ((lineData = readStreamLine(bis)) != null) {
                    System.out.println(new String(lineData));
                    if (isByteArraystartWith(lineData, lineSeparatorByte)) { // end
                        isEnd = true;
                        break;
                    } else {
                        bos.write(lineData);
                    }
                }
            }else {
                lineData = readStreamLine(bis);
                if(lineData == null)
                    return null;
                System.out.println(new String(lineData,"ASCII"));
                while(!isByteArraystartWith(lineData, lineSeparatorByte)) {
                    lineData = readStreamLine(bis);
                    if(lineData == null)
                        return null;
                    System.out.println(new String(lineData,"ASCII"));
                }
            }
        }
        return bos.toByteArray();
    }

    private byte[] readStreamLine(BufferedInputStream in) throws IOException{
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        int b = in.read();
        if(b== -1)
            return null;
        while(b != -1 && b != '\n') {
            bos.write(b);
            b = in.read();
        }
        return bos.toByteArray();
    }

    private String readStreamLineAsString(BufferedInputStream in) throws IOException {
        return new String(readStreamLine(in),"ASCII");
    }

    private boolean isByteArraystartWith(byte[] arr,byte[] pat) {
        int i;
        if(arr == null || pat == null)
            return false;
        if(arr.length < pat.length)
            return false;
        for(i=0;i<pat.length;i++) {
            if(arr[i] != pat[i])
                return false;
        }
        return true;
    }
}


上传文件文件的时候,需要在之前的html中增加一个form表单,里面需要有个<input type="file" name="fileUpload" >的输入按钮。这样,浏览器才会将要上传的文件递交给服务器。 其中name="fileUpload"的名字,就是RunnningUpLoader.doUpload函数中的name参数。

使用的时候直接用bean就OK了。比如upload.jsp如下:

<jsp:useBean id="upBean" scope="page" />

<%

upBean.doUpload(request,"fileupload","runningUpLoad.txt");

%>

2. RunningDownLoader下载Bean
package testupload;
import java.io.*;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;

public class RunningDownLoader {
    public RunningDownLoader() {
    }

    public void doDownload(HttpServletResponse response, String filePath,String fileName) throws
            IOException {
        response.reset();//可以加也可以不加
     response.setContentType("application/x-download");//设置为下载application/x-download
     System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
     String filenamedownload = filePath;
     String filenamedisplay = fileName;//系统.txt
     filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");--解决下载中文文件名文件的问题
     response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);

     OutputStream output = null;
     FileInputStream fis = null;
     try
     {
         output  = response.getOutputStream();
         fis = new FileInputStream(filenamedownload);

         byte[] b = new byte[1024];
         int i = 0;

         while((i = fis.read(b)) > 0)
         {
             output.write(b, 0, i);
         }
         output.flush();
     }
     catch(Exception e)
     {
         System.out.println("Error!");
         e.printStackTrace();
     }
     finally
     {
         if(fis != null)
         {
             fis.close();
             fis = null;
         }
         if(output != null)
         {
             output.close();
             output = null;
         }
     }

    }

}


  下载文件,最好是做到Servlet上。直接在Servlet的doGet下面增加如下代码即可

//Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        RunningDownLoader downloader= new RunningDownLoader();
        downloader.doDownload(response,"E:\\MyProjects\\testupload.rar","upload.bin");
    }

自己的一点心得:

我要实现一个文件下载的功能,在找到这篇文章之前,我看了jspsmart的有关文章,几行代码就可以解决下在问题,

但对下载的实现原理:确不怎么清楚,虽然以前也用servlet自己写过下载的功能 ,由于时间太长已经记不太清楚了,

现在看了整个思路都清晰了,

我们不是为了解决问题而解决问题,问题解决了你如果没有学到新的知识或经验,也许下次遇到问题的时候还是只知道到网上去baidu,却永远都打不开自己的思路,当遇到网络上没有的难题时,就手足无措了,所以永远都成不了高手,

学习原理才能举一反三.




    
[3] apk命令行起动
    来源: 互联网  发布时间: 2014-02-18
apk命令行启动
      apk命令行启动
        在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am.
  启动的方法为
  # am start -n包(package)名/包名.活动(activity)名称
  启动的方法可以从每个应用的AndroidManifest.xml的文件中得到,以计算器(calculator)为例,它的
  <?xml version="1.0" encoding=""?>
  <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.calculator2">
  <applicationandroid:label="@string/app_name"android:icon="@drawable/icon">
  <activity android:name="Calculator"
  android:theme="@android:style/Theme.Black">
  <intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <categoryandroid:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
  </activity>
  </application>
  </manifest>
  由此计算器(calculator)的启动方法为:
  # am start-ncom.android.calculator2/com.android.calculator2.Calculator
  对于HelloActivity这个示例工程,AndroidManifest.xml如下所示:
  <?xml version="1.0" encoding=""?>
  <manifestxmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.android.helloactivity">
  <application android:label="Hello, Activity!">
  <activity android:name="HelloActivity">
  <intent-filter>
  <action android:name="android.intent.action.MAIN"/>
  <categoryandroid:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
  </activity>
  </application>
  </manifest>
  由此它的启动方法为:
  # am start-ncom.example.android.helloactivity/com.example.android.helloactivity.HelloActivity
  其他的一些应用启动命令,如下所示:
  calendar(日历)的启动方法为:
  # am start-ncom.android.calendar/com.android.calendar.LaunchActivity
  AlarmClock(闹钟)的启动方法为:
  # am start-ncom.android.alarmclock/com.android.alarmclock.AlarmClock
  Music和 Video(音乐和视频)的启动方法为:
  # am start-ncom.android.music/com.android.music.MusicBrowserActivity
  # am start-ncom.android.music/com.android.music.VideoBrowserActivity
  # am start-ncom.android.music/com.android.music.MediaPlaybackActivity
  Camera(照相机)的启动方法为:
  # am start -n com.android.camera/com.android.camera.Camera
  Browser(浏览器)的启动方法为:
  # am start-ncom.android.browser/com.android.browser.BrowserActivity
  一般情况希望,一个Android应用对应一个工程。值得注意的是,有一些工程具有多个活动(activity),而有一些应用使用一个工程。例如:在Android界面中,Music和Video是两个应用,但是它们使用的都是packages/apps/Music这一个工程。而在这个工程的AndroidManifest.xml文件中,有包含了不同的活动(activity)。

am start -n com.cooliris.media/com.cooliris.media.com.cooliris.media.Gallery

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
oracle iis7站长之家
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3