网络请求,JSON解析

MainActivity

package com.baozilichao.test2;

import android.database.Cursor;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ListView;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;

import bean.MenuBean;
import dao.StudentDao;
import httpurl.HTTPtest1;

public class MainActivity extends AppCompatActivity {
    StudentOpenHelp helper;
    StudentDao studentDao;
    ListView lv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        setDate();
    }

    private void initView() {
        helper = new StudentOpenHelp(this, "student.db", null, 1);
        studentDao = new StudentDao(this);
    }

    private void setDate() {
        studentDao.insert("16050103", "名字3", "年龄3", "爱好3");

        Cursor cursor = studentDao.query("16050101");
        while (cursor.moveToNext()) {
            Log.i("query", cursor.getString(1));
            Log.i("query", cursor.getString(2));
            Log.i("query", cursor.getString(3));
            Log.i("query", cursor.getString(4));
        }
        Cursor cursor1 = studentDao.queryAll();
        while (cursor1.moveToNext()) {
            Log.i("queryAll", cursor1.getString(1));
            Log.i("queryAll", cursor1.getString(3));
            Log.i("queryAll", cursor1.getString(2));
            Log.i("queryAll", cursor1.getString(4));
        }
        new MyAsyncTask().execute();

    }

    class MyAsyncTask extends AsyncTask {

        @Override
        protected String doInBackground(String... strings) {
            String result = HTTPtest1.GetURL("http://mobile.ximalaya.com/mobile/discovery/v1/tabs?device=android");
            Log.i("MyAsyncTask", "doInBackground: " + result);
            MenuBean bean=parseHson(result);
            Log.i("MenuBean", " " + bean.msg);
            Log.i("MenuBean", " " + bean.tabs.list.get(0).title);
            return null;
        }
    }

    //    解析json数据
    private MenuBean parseHson(String json) {
//        第一步 把json字符串转换成jsonobject对象
        try {
            JSONObject object = new JSONObject(json);
//         第二步  需要一个javabean对象
            MenuBean bean = new MenuBean();
            bean.ret = object.getInt("ret");
            bean.msg = object.getString("msg");
//            第三步 把tabs对应的字符串转换成jsonobject
            JSONObject objectTab = object.getJSONObject("tabs");
//            第三步 因为tab是一个类型,需要把对象创建出来,
            bean.tabs= bean.new Tab();
            bean.tabs.count  = objectTab.getInt("count");
//            第五步 因为list是一个jsonArray,需要先转换成jsonArray对象
            JSONArray array = objectTab.getJSONArray("list");
            bean.tabs.list = new ArrayList.Title>();
            for (int i = 0; i < array.length(); i++) {
                JSONObject objectTitle = array.getJSONObject(i);
//                第六步 对应objTitle实例化bean中的Title对象
                MenuBean.Title title = bean.new Title();
                title.title = objectTitle.getString("title");
                title.contentType = objectTitle.getString("contentType");
                bean.tabs.list.add(title);
            }
            return bean;

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

        return null;
    }

}

StudentOpenHelp,

package com.baozilichao.test2;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by user on 2016/8/13.
 */
public class StudentOpenHelp extends SQLiteOpenHelper {
    public StudentOpenHelp(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    //第一次创建数据库的时候
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        String sql="create table student(id integer primary key autoincrement," +
                "num integer(8)," +
                "name varchar(10)," +
                "age integer(2)," +
                "hobby varchar(50));";
        sqLiteDatabase.execSQL(sql);

    }
    //版本号增加的时候,版本号只能增加不能减小
    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

HTTPtest1

package httpurl;

import android.util.Log;
import android.widget.ListView;
import android.widget.TextView;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by user on 2016/8/13.
 */
public class HTTPtest1 {

    public static String GetURL(String path) {

        HttpURLConnection connection = null;
        InputStream inputstream = null;
        ByteArrayOutputStream outputStream = null;

        try {
            URL url = new URL(path);
            connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(8000);
            connection.setReadTimeout(8 * 1000);

            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {

                inputstream = connection.getInputStream();
                outputStream = new ByteArrayOutputStream();
                byte[] by = new byte[1024];
                int len = 0;
                while ((len = inputstream.read(by)) != -1) {
                    outputStream.write(by, 0, len);
                }
                byte[] by1 = outputStream.toByteArray();

                String result = new String(by1);

                return result;
            }

        } catch (Exception e) {
            e.printStackTrace();
            Log.e("TAG", "22222");
        } finally {
            try {
                if (connection != null) {
                    connection.disconnect();
                }
                if (outputStream != null) {
                    outputStream.close();
                }
                if (inputstream != null) {
                    inputstream.close();
                }

            } catch (IOException e) {
                e.printStackTrace();
            }
            Log.e("TAG", "333333");
        }
        Log.e("TAG", "444444");
        return null;
    }

}



StudentDao

package dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

import com.baozilichao.test2.StudentOpenHelp;

/**
 * Created by user on 2016/8/13.
 */
public class StudentDao  {
    Context context;
    StudentOpenHelp helper;
    public StudentDao(Context context) {
        this.context = context;
        helper = new StudentOpenHelp(context, "student.db", null, 1);
    }

    //    往student表中插入数据的方法
    public void insert(String num, String name, String age, String hobby) {
        SQLiteDatabase db = helper.getWritableDatabase();
        String sql = "insert into student(num,name,age,hobby) values (?,?,?,?)";
        db.execSQL(sql, new String[]{num, name, age, hobby});

        ContentValues values=new ContentValues();
//        put方法传递的key值必须和数据库中的字段一样
        values.put("num",num);
        values.put("name",name);
        values.put("age",age);
        values.put("hobby",hobby);
        db.insert("student",null,values);

        db.close();
    }//

    //查询数据库
    public Cursor query(String num) {
        SQLiteDatabase db = helper.getReadableDatabase();
        String sql = "select*from student where  num=?";
        return db.rawQuery(sql, new String[]{num});
//        使用读数据库权限的时候,不能调用db.close()方法
    }

    //查询全部
    public Cursor queryAll() {
        SQLiteDatabase db = helper.getReadableDatabase();
        String sql = "select*from student";
        return db.rawQuery(sql, null);

    }
}

MenuBean`

package bean;

import java.util.List;

/**
 * Created by user on 2016/8/13.
 */
public class MenuBean {
    public int ret;
    public String msg;
    public Tab tabs;

    //    因为tab是一个JsonObject,每个jsonObject需要对应一个类型
    public class Tab {
        public int count;
        //    在json数据中,如果有jsonArray,就用list集合的形式存数据
        public List list;
    }

    <span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Title</span> {</span>
        <span class="hljs-keyword">public</span> String title;
        <span class="hljs-keyword">public</span> String contentType;

    }

}
</code></pre> 
  <pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span>
<span class="hljs-tag"><<span class="hljs-title">RelativeLayout</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span>
    <span class="hljs-attribute">xmlns:tools</span>=<span class="hljs-value">"http://schemas.android.com/tools"</span>
    <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span>
    <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span>
    <span class="hljs-attribute">android:paddingBottom</span>=<span class="hljs-value">"@dimen/activity_vertical_margin"</span>
    <span class="hljs-attribute">android:paddingLeft</span>=<span class="hljs-value">"@dimen/activity_horizontal_margin"</span>
    <span class="hljs-attribute">android:paddingRight</span>=<span class="hljs-value">"@dimen/activity_horizontal_margin"</span>
    <span class="hljs-attribute">android:paddingTop</span>=<span class="hljs-value">"@dimen/activity_vertical_margin"</span>
    <span class="hljs-attribute">tools:context</span>=<span class="hljs-value">"com.baozilichao.test2.MainActivity"</span>></span>

    <span class="hljs-tag"><<span class="hljs-title">ListView
</span>        <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span>
        <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"match_parent"</span>
        <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/main_listview"</span>/></span>
<span class="hljs-tag"></<span class="hljs-title">RelativeLayout</span>></span>
</code></pre> 
  <pre class="prettyprint"><code class=" hljs xml"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span>
<span class="hljs-tag"><<span class="hljs-title">manifest</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span>
    <span class="hljs-attribute">package</span>=<span class="hljs-value">"com.baozilichao.test2"</span>></span>
<span class="hljs-tag"><<span class="hljs-title">uses-permission</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">"android.permission.INTERNET"</span>/></span>
    <span class="hljs-tag"><<span class="hljs-title">application
</span>        <span class="hljs-attribute">android:allowBackup</span>=<span class="hljs-value">"true"</span>
        <span class="hljs-attribute">android:icon</span>=<span class="hljs-value">"@mipmap/ic_launcher"</span>
        <span class="hljs-attribute">android:label</span>=<span class="hljs-value">"@string/app_name"</span>
        <span class="hljs-attribute">android:supportsRtl</span>=<span class="hljs-value">"true"</span>
        <span class="hljs-attribute">android:theme</span>=<span class="hljs-value">"@style/AppTheme"</span>></span>
        <span class="hljs-tag"><<span class="hljs-title">activity</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">".MainActivity"</span>></span>
            <span class="hljs-tag"><<span class="hljs-title">intent-filter</span>></span>
                <span class="hljs-tag"><<span class="hljs-title">action</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">"android.intent.action.MAIN"</span> /></span>

                <span class="hljs-tag"><<span class="hljs-title">category</span> <span class="hljs-attribute">android:name</span>=<span class="hljs-value">"android.intent.category.LAUNCHER"</span> /></span>
            <span class="hljs-tag"></<span class="hljs-title">intent-filter</span>></span>
        <span class="hljs-tag"></<span class="hljs-title">activity</span>></span>
    <span class="hljs-tag"></<span class="hljs-title">application</span>></span>

<span class="hljs-tag"></<span class="hljs-title">manifest</span>></span></code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1282724991070126080"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(Android基础)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1834831424239267840.htm"
                           title="一文说透 Android 应用架构 MVC、MVP、MVVM 和 组件化,Android基础入门教程" target="_blank">一文说透 Android 应用架构 MVC、MVP、MVVM 和 组件化,Android基础入门教程</a>
                        <span class="text-muted">Java后时代</span>
<a class="tag" taget="_blank" href="/search/2024%E5%B9%B4%E7%A8%8B%E5%BA%8F%E5%91%98%E5%AD%A6%E4%B9%A0/1.htm">2024年程序员学习</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a>
                        <div>然后,就是我们的View层的代码,同样,我对代码做了删减:@Route(path=BaseConstants.EYEPETIZER_MENU)publicclassHomeActivityextendsCommonActivityimplementsHomeContract.IView{//实例化PresenterprivateHomeContract.IPresenterpresenter;{p</div>
                    </li>
                    <li><a href="/article/1829637349361938432.htm"
                           title="Android基础之-Fragment生命周期详细讲解" target="_blank">Android基础之-Fragment生命周期详细讲解</a>
                        <span class="text-muted">DW0113</span>

                        <div>Fragment生命周期onAttach()这个是回调函数这个时候activity已经传进来了,获得activity的传递的值就可以进行与activity的通信里当然也可以使用getActivity(),前提是这个fragment已经和宿主的activity关联,并且没有脱离他只调用一次。onCreate()系统创建fragment的时候回调他,在他里面实例化一些变量这些个变量主要是:当你暂停停止</div>
                    </li>
                    <li><a href="/article/1829347287868993536.htm"
                           title="Android高级面试题汇总——Android篇(1)" target="_blank">Android高级面试题汇总——Android篇(1)</a>
                        <span class="text-muted">oO樱花祭LI</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                        <div>(一)Android基础知识点1、四大组件是什么Activity,Service,ContentProvider,BroadcastReceiver2、四大组件的生命周期和简单用法Activity的生命周期:onCreate()->onStart()->onResume()->onPause()->onStop()->onRestart()->onDestroy()用法:创建一个Intent对象,</div>
                    </li>
                    <li><a href="/article/1759668213630726144.htm"
                           title="Android 基础技术——Binder 机制" target="_blank">Android 基础技术——Binder 机制</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/binder/1.htm">binder</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于Binder机制什么是Binder机制:Binder是一种进程间通信机制驱动:Binder是一个虚拟物理设备驱动应用层:Binder是一个能发起通信的Java类为什么要使用Binder图解析:性能上:binder小于共享内存优于其他ipc共享内存的缺点:有死锁和数据不同步(线程需要做同步处理)的风险身份识别:依赖上层协议,知道PID(身份I</div>
                    </li>
                    <li><a href="/article/1757010057356132352.htm"
                           title="纯干货!Android性能优化面试题集锦,持续更新中" target="_blank">纯干货!Android性能优化面试题集锦,持续更新中</a>
                        <span class="text-muted">程序员大婕</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a>
                        <div>第一次观看我文章的朋友,可以关注、点赞、转发一下,每天分享各种干货技术和程序猿趣事前言随着移动终端的快速发展,Android开发人员也越来越多,Android开发市场也进入了一个饱和的状态,Android开发人员也面临着难找一份好工作的处境。而找工作的第一关就是面试,一个好的面试往往能很好的提高你的入职几率,下面我总结了一些本人在一些大厂的面试总结,希望的观看的小伙伴有所帮助。Android基础&</div>
                    </li>
                    <li><a href="/article/1756270034893684736.htm"
                           title="Android基础知识" target="_blank">Android基础知识</a>
                        <span class="text-muted">Thethrill</span>

                        <div>一、activity1.一个activity就是一个类,继承activity;2.需要复写onCreate()方法;3.每一个activity都需要在AndroidMainfest.xml清单上进行配置;4.为activity添加必要的控件。二、布局线性布局:LinearLayout1.填满父空间:fill_parent、match_parent2.文本多大空间就有多大:warp_content3</div>
                    </li>
                    <li><a href="/article/1755523320314347520.htm"
                           title="android刷机教程基础篇" target="_blank">android刷机教程基础篇</a>
                        <span class="text-muted">musiclvme</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/rom/1.htm">rom</a>
                        <div>前言参考连接:https://source.android.com/这篇文章将教你如何从google的网站获取官方image,刷到google出品的手机pixel。(如果你有google原生的其他手机,也是相通的)适合喜欢折腾的朋友!本文为刷机基础篇,后期高级篇会讲通过获取aosp源码来编译生成image来刷pixel手机。android基础知识android版本android一般是每年推出一个大</div>
                    </li>
                    <li><a href="/article/1755142591927566336.htm"
                           title="Android基础混淆" target="_blank">Android基础混淆</a>
                        <span class="text-muted">itfitness</span>

                        <div>#---------------------------------实体类----------------------------------keepclasscom.yuyigufen.hymanager.beans.**{*;}#自定义数据模型的bean目录#---------------------------------基本指令区------------------------------</div>
                    </li>
                    <li><a href="/article/1754732590201323520.htm"
                           title="Android基础(24)多线程(二)IntentService" target="_blank">Android基础(24)多线程(二)IntentService</a>
                        <span class="text-muted">perry_Fan</span>

                        <div>1)IntentService问题1:IntentService如何单独开启一个新的工作线程?//IntentService源码中的onCreate()方法@OverridepublicvoidonCreate(){super.onCreate();//HandlerThread继承自Thread,内部封装了Looper//通过实例化andlerThread新建线程并启动//所以使用IntentS</div>
                    </li>
                    <li><a href="/article/1754281639673872384.htm"
                           title="SDK接入学习(六):Android基础(AS菜单详细介绍)" target="_blank">SDK接入学习(六):Android基础(AS菜单详细介绍)</a>
                        <span class="text-muted">码农_X</span>
<a class="tag" taget="_blank" href="/search/SDK%E4%B8%93%E6%A0%8F/1.htm">SDK专栏</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a>
                        <div>安卓详细菜单栏介绍一、File文件菜单:文件相关的操作,如创建或打开一个文件,项目设置New:新建,用于新建立工程,项目,文件,类,资源配置文件等Open…打开一个文件或一个工程ProfileorDebugAPK:性能分析或调试某个APKOpenRecent:重新打开最近时间打开过的的项目CloseProject:关闭项目LinkC++ProjectGradle使用Gradle链接C++工程项目S</div>
                    </li>
                    <li><a href="/article/1753320141178814464.htm"
                           title="Android面试Android基础(十一)" target="_blank">Android面试Android基础(十一)</a>
                        <span class="text-muted">肖义熙</span>

                        <div>问:Android中的IPC(进程间通信)机制?答:进程间通信即:跨进程的通信。有以下几种:1、使用Bundle。四大组件中Activity、Service、BroadcastReceiver都支持在Intent中传递Bundle数据。由于Bundle实现了Parcelable接口,所以它可以很方便的在不同的进程间传输数据。当然我们传输的数据必须能够被序列化,比如基本类型、实现了Parcelabl</div>
                    </li>
                    <li><a href="/article/1753281833543417856.htm"
                           title="HiSilicon352 android9.0 开机视频调试分析" target="_blank">HiSilicon352 android9.0 开机视频调试分析</a>
                        <span class="text-muted">Y多了个想法</span>
<a class="tag" taget="_blank" href="/search/HiSilicon%E5%B9%B3%E5%8F%B0/1.htm">HiSilicon平台</a><a class="tag" taget="_blank" href="/search/%E8%B0%83%E8%AF%95%E8%AE%B0%E5%BD%95/1.htm">调试记录</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E8%A7%86%E9%A2%91/1.htm">音视频</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%B5%B7%E6%80%9D/1.htm">海思</a><a class="tag" taget="_blank" href="/search/HiSilicon352/1.htm">HiSilicon352</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%9C%BA%E8%A7%86%E9%A2%91/1.htm">开机视频</a>
                        <div>一,开机视频概念开机广告是在系统开机后实现播放视频功能。海思Android解决方案在原生Android基础上,增加了开机视频模块,可在开机过程中播放视频文件,使用户更好的体验系统开机过程。二,模块结构1.海思自研开机视频代码路径;vendor/hisilicon/modules/hibootvideo2.Android原生bootanimation代码路径:frameworks/base/cmds</div>
                    </li>
                    <li><a href="/article/1752986675954335744.htm"
                           title="Android基础--ListView中的setSelection方法" target="_blank">Android基础--ListView中的setSelection方法</a>
                        <span class="text-muted">小小米乐</span>
<a class="tag" taget="_blank" href="/search/Android%E9%AB%98%E7%BA%A7UI/1.htm">Android高级UI</a><a class="tag" taget="_blank" href="/search/listview/1.htm">listview</a><a class="tag" taget="_blank" href="/search/setSelection/1.htm">setSelection</a>
                        <div>ListView中的setSelection方法setSelection使用场景publicvoidsetSelection(intposition)当聊天软件中出现很多消息的时候,会如下图顶端显示还有26条新消息,点击会跳转到最早的未读新消息的位置,这就是setSelection的使用场景setSelectionFromTop与setSelection类似publicvoidsetSelecti</div>
                    </li>
                    <li><a href="/article/1752986546480365568.htm"
                           title="Android基础知识 - ListView" target="_blank">Android基础知识 - ListView</a>
                        <span class="text-muted">L-FHy</span>
<a class="tag" taget="_blank" href="/search/Android%E5%BC%80%E5%8F%91/1.htm">Android开发</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E7%AC%AC%E4%B8%80%E8%A1%8CAndroid/1.htm">第一行Android</a><a class="tag" taget="_blank" href="/search/listview/1.htm">listview</a>
                        <div>ListView简单介绍ListView的简单用法定制ListView的界面新建Fruit类ListView子项对应的布局自定义适配器FruitAdapter提升ListView的运行效率ListView的点击事件简单介绍ListView绝对可以称得上是Android最常用的控件之一,几乎所有的应用程序都会用到它。由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们有大量的数据需</div>
                    </li>
                    <li><a href="/article/1752521363261767680.htm"
                           title="Android基础入门教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)" target="_blank">Android基础入门教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)</a>
                        <span class="text-muted">程序员负总裁</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                        <div>软件下载软件:AndroidStudio版本:2022语言:英文大小:1G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU@2.0GHz内存@4G(或更高)下载通道①百度网盘丨下载链接:https://pan.baidu.com/s/1ZdZOfCZz7LE2I6XVKuonNw?pwd=6789提取码:6789软件介绍AndroidStudio是谷歌推出的一个Android集</div>
                    </li>
                    <li><a href="/article/1752238615733223424.htm"
                           title="妥妥的去面试之Android基础(二)" target="_blank">妥妥的去面试之Android基础(二)</a>
                        <span class="text-muted">树獭非懒</span>

                        <div>笔者由于在找工作,所以近期最主要的任务就是准备面试,不打无准备之仗。只有你准备充分了,那么你想要的机会才有机会入你怀中。笔者会将准备面试的学习过程记录下来,方便自己复盘的同时也希望能给一道找工作的小伙伴们一些帮助。笔者准备的内容大纲如下Android面试大纲.png妥妥的去面试之Android基础(一)接下来开始本篇博客的正菜1.AsyncTask的缺陷?使用时有什么需要注意的点?(1)通过Asy</div>
                    </li>
                    <li><a href="/article/1751713296802660352.htm"
                           title="Android 基础技术——列表卡顿问题如何分析解决" target="_blank">Android 基础技术——列表卡顿问题如何分析解决</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于列表卡顿问题如何分析解决onBindViewHolder优化是否有耗时操作、重复创建对象、设置监听器、findViewByID、局部的动画对象等操作是否存在内存泄漏发生内存泄露,会导致一些不再使用到的对象没有及时释放,这些对象占用了宝贵的内存空间,很容易导致后续需要分配内存的时候,内存空间不足而出现OOM(内存溢出)。无用对象占据的内存空间</div>
                    </li>
                    <li><a href="/article/1751713170403115008.htm"
                           title="Android 基础技术——m3u8格式与mp4格式的区别" target="_blank">Android 基础技术——m3u8格式与mp4格式的区别</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于m3u8格式与mp4格式的区别m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配</div>
                    </li>
                    <li><a href="/article/1751713166586298368.htm"
                           title="Android 基础技术——Handler" target="_blank">Android 基础技术——Handler</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于Handler为什么一个线程对应一个Looper?核心:通过ThreadLocal保证Looper.prepare的时候,ThreadLocal.get如果不空报异常;否则调用ThreadLocal.set,ThreadLocal.set会调用当前线程Thread里的ThreadLocalmapput键值对,put的键值对就是Key=Thr</div>
                    </li>
                    <li><a href="/article/1751713169354539008.htm"
                           title="Android 基础技术——Bitmap" target="_blank">Android 基础技术——Bitmap</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于BitmapBitmap内存如何计算占用内存=宽*缩放比例*高*缩放比例*每个像素所占字节缩放比例=设备dpi/图片所在目录的dpiBitmap加载优化?不改变图片质量的情况下怎么优化?不同的Conifg代表每个像素不同的占用空间,所以如果我们把默认的ARGB_8888改成RGB_565,那么每个像素占用空间就会由4字节变成2字节了,那么图</div>
                    </li>
                    <li><a href="/article/1751386041706627072.htm"
                           title="Android 基础技术——RecyclerView" target="_blank">Android 基础技术——RecyclerView</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于RecyclerViewRecyclerView对比ListView的优点Adapter面向的是ViewHolder不是View,可以省略convertView.setTag和getTag这些步骤可以设置布局管理器:竖向、横向、瀑布流方式可以设置Item的间隔样式Recycleview去掉了一些api,比如setEmptyview,onIt</div>
                    </li>
                    <li><a href="/article/1751048005768724480.htm"
                           title="HarmonyOS漫谈---套壳安卓还是套壳苹果?HarmonyOS更像谁?" target="_blank">HarmonyOS漫谈---套壳安卓还是套壳苹果?HarmonyOS更像谁?</a>
                        <span class="text-muted">尘烟生活家</span>
<a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">应用开发实战</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>2020年以前华为手机的操作系统是EMUI,这个是在Android基础上扩展而来的,版本和android几乎一致,和市面上其它android手机厂家搭载的系统并无本质不同2019年5月16日,美国针对华为发起了第一轮制裁。8月华为发布了HarmonyOS1.0,此时还只是主要在IOT设备上使用,智慧屏成为首批搭载该系统的硬件设备2021年6月,HarmonyOS2.0正式亮相,此时支持了从2016</div>
                    </li>
                    <li><a href="/article/1750947947937284096.htm"
                           title="Android基础一(View,绘制图形)" target="_blank">Android基础一(View,绘制图形)</a>
                        <span class="text-muted">zain丶月下</span>

                        <div>一、将Eclipse项目转移到AS中在我们将Eclipse项目导入AS时,通常会因为版本等原因出现各种问题,笔者这里给大家说一下解决办法在eclipse中选择导出文件,选择Android文件。在本地AS中创建一个新项目,将gradle文件包,build.gradle文件拷贝到导出文件中,并覆盖原来的文件原因:gradle文件包:这个目录下包含了gradlewrapper的配置文件,使用gradle</div>
                    </li>
                    <li><a href="/article/1750104945023008768.htm"
                           title="android基础知识梳理" target="_blank">android基础知识梳理</a>
                        <span class="text-muted">练习本</span>
<a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E7%9F%A5%E8%AF%86%E7%82%B9%E5%88%86%E7%B1%BB%E6%B1%87%E6%80%BB/1.htm">常用知识点分类汇总</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>接下来开始androidjava基础梳理我是先整理android基础知识呢还是java相关的泛化,反射,依赖注入等基础点的功能梳理呢。先来看下一些基础相关的巩固泛型,反射,依赖注入。这些都是当前代码里经常用到的,但目前我用的总感觉不够全面借此机会坐下总结和熟悉泛型主要向上边界和向下边界,这个要再看下,其他到还好反射主要是没法进行类型检查,是否有办法呢,查一下依赖注入这个看别人用的这么留,我是否可以</div>
                    </li>
                    <li><a href="/article/1749376409261850624.htm"
                           title="Android 基础技术——View 的宽高" target="_blank">Android 基础技术——View 的宽高</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于View的宽高ActivityResume的时候设置或者获取view的宽高是否有效?回答:不确定。首次onResume无效,二次onResume就有效了。回顾「Android基础技术——addView流程」,首次onResume后window&DectorView绑定,都还没刷新,更别谈度量,谈何宽高有什么办法在onResume生命周期里获</div>
                    </li>
                    <li><a href="/article/1749213082879541248.htm"
                           title="Android 基础技术——addView 流程" target="_blank">Android 基础技术——addView 流程</a>
                        <span class="text-muted">我不勤奋v</span>
<a class="tag" taget="_blank" href="/search/Android/1.htm">Android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%8A%80%E6%9C%AF/1.htm">基础技术</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80/1.htm">基础</a>
                        <div>笔者希望做一个系列,整理Android基础技术,本章是关于addView在了解addView流程之前,先回答下以下几个问题:PhoneWindow是什么时候创建的?DectorView是什么?DectorView是什么时候创建的?ViewRootImpl是什么?ViewRootImpl是何时创建的?DectorView什么时候被添加到Window?回答上面问题之前,先介绍下Activity的创建和</div>
                    </li>
                    <li><a href="/article/1748821994016620544.htm"
                           title="Android应用开发:基础小游戏开发" target="_blank">Android应用开发:基础小游戏开发</a>
                        <span class="text-muted">中懿游</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91/1.htm">软件开发</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%80%E5%8F%91/1.htm">游戏开发</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91/1.htm">小程序开发</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                        <div>手机游戏成为人们日常娱乐的重要组成部分。如果您想踏入这个充满创意和技术挑战的领域,制作一个Android基础小游戏是个不错的开始。以下是从零开始制作Android小游戏的基础指南。1选择开发环境和工具AndroidStudio是官方推荐的开发环境,它提供了强大的代码编辑器、调试工具和设备模拟器。在编程语言选择上,Java和Kotlin是Android开发的两大主流语言,其中Kotlin因其现代性和</div>
                    </li>
                    <li><a href="/article/1748543313805328384.htm"
                           title="Android基础知识" target="_blank">Android基础知识</a>
                        <span class="text-muted">可乐manman</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                        <div>1.Activity的生命周期onCreate:Activity在启动时会被创建,后面一般不会在调用该方法(除非例外情况,将Activity回收,例如内存不足);onStart:Activity启动时,会调用该方法;onResume:Activity可视化时,会调用该方法;onPause:Activity不可见时,会调用该方法;onStop:Activity完全不可见时,会调用该方法;onDest</div>
                    </li>
                    <li><a href="/article/1747740291999219712.htm"
                           title="android基础_音频播放API + 视频播放API +SurfaceView介绍" target="_blank">android基础_音频播放API + 视频播放API +SurfaceView介绍</a>
                        <span class="text-muted">zengk562</span>
<a class="tag" taget="_blank" href="/search/VideoView/1.htm">VideoView</a><a class="tag" taget="_blank" href="/search/SurfaceView/1.htm">SurfaceView</a>
                        <div>播放音频的APIMediaPlayerMediaPlayer状态图解:播放本地音乐:publicvoidplay(Viewv){Stringpath=et_path.getText().toString();//1.判空操作,2,判断是否真的存在这个文件,有可能用户输入的是非法的文件路径try{//1,创建一个多媒体播放器mediaPlayer=newMediaPlayer();//2.设置播放资</div>
                    </li>
                    <li><a href="/article/1747565416399519744.htm"
                           title="Android基础:Service生命周期详解" target="_blank">Android基础:Service生命周期详解</a>
                        <span class="text-muted">Android_董</span>

                        <div>介绍Service(服务),属于Android四大组件之一生命周期图Service生命周期需要手动打开服务的方法startService————>启动服务stopService————>关闭服务bindService————>绑定服务unbindService————>解绑服务生命周期内部调用的方法onCreate————>创建服务onStartCommand————>开始服务onBind————</div>
                    </li>
                                <li><a href="/article/116.htm"
                                       title="ViewController添加button按钮解析。(翻译)" target="_blank">ViewController添加button按钮解析。(翻译)</a>
                                    <span class="text-muted">张亚雄</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div><div class="it610-blog-content-contain" style="font-size: 14px"></div>//  ViewController.m 
//  Reservation software 
// 
//  Created by 张亚雄 on 15/6/2. 
</div>
                                </li>
                                <li><a href="/article/243.htm"
                                       title="mongoDB 简单的增删改查" target="_blank">mongoDB 简单的增删改查</a>
                                    <span class="text-muted">开窍的石头</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>   在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作 
      在mongo中对于不存在的表当你用db.表名 他会自动统计 
下边用到的user是表明,db代表的是数据库 
 
      添加(insert): 
</div>
                                </li>
                                <li><a href="/article/370.htm"
                                       title="log4j配置" target="_blank">log4j配置</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/log4j/1.htm">log4j</a>
                                    <div>1) 新建java项目 
2) 导入jar包,项目右击,properties—java build path—libraries—Add External jar,加入log4j.jar包。 
3) 新建一个类com.hand.Log4jTest 
 

package com.hand;

import org.apache.log4j.Logger;


public class </div>
                                </li>
                                <li><a href="/article/497.htm"
                                       title="多点触摸(图片缩放为例)" target="_blank">多点触摸(图片缩放为例)</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%82%B9%E8%A7%A6%E6%91%B8/1.htm">多点触摸</a>
                                    <div>多点触摸的事件跟单点是大同小异的,上个图片缩放的代码,供大家参考一下 
 


import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener</div>
                                </li>
                                <li><a href="/article/624.htm"
                                       title="有关浏览器窗口宽度高度几个值的解析" target="_blank">有关浏览器窗口宽度高度几个值的解析</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a>
                                    <div>1 元素的 offsetWidth 包括border padding  content  整体的宽度。 
clientWidth  只包括内容区 padding 不包括border。 
clientLeft =  offsetWidth -clientWidth  即这个元素border的值 
offsetLeft  若无已定位的包裹元素</div>
                                </li>
                                <li><a href="/article/751.htm"
                                       title="数据库产品巡礼:IBM DB2概览" target="_blank">数据库产品巡礼:IBM DB2概览</a>
                                    <span class="text-muted">蓝儿唯美</span>
<a class="tag" taget="_blank" href="/search/db2/1.htm">db2</a>
                                    <div>IBM DB2是一个支持了NoSQL功能的关系数据库管理系统,其包含了对XML,图像存储和Java脚本对象表示(JSON)的支持。DB2可被各种类型的企 业使用,它提供了一个数据平台,同时支持事务和分析操作,通过提供持续的数据流来保持事务工作流和分析操作的高效性。 DB2支持的操作系统 
DB2可应用于以下三个主要的平台: 
  
 
 工作站,DB2可在Linus、Unix、Windo</div>
                                </li>
                                <li><a href="/article/878.htm"
                                       title="java笔记5" target="_blank">java笔记5</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>控制执行流程: 
1,true和false 
   利用条件表达式的真或假来决定执行路径。例:(a==b)。它利用条件操作符“==”来判断a值是否等于b值,返回true或false。java不允许我们将一个数字作为布尔值使用,虽然这在C和C++里是允许的。如果想在布尔测试中使用一个非布尔值,那么首先必须用一个条件表达式将其转化成布尔值,例如if(a!=0)。 
2,if-els</div>
                                </li>
                                <li><a href="/article/1005.htm"
                                       title="Web开发常用手册汇总" target="_blank">Web开发常用手册汇总</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a>
                                    <div>一门技术,如果没有好的参考手册指导,很难普及大众。这其实就是为什么很多技术,非常好,却得不到普遍运用的原因。
 正如我们学习一门技术,过程大概是这个样子:
 ①我们日常工作中,遇到了问题,困难。寻找解决方案,即寻找新的技术;
 ②为什么要学习这门技术?这门技术是不是很好的解决了我们遇到的难题,困惑。这个问题,非常重要,我们不是为了学习技术而学习技术,而是为了更好的处理我们遇到的问题,才需要学习新的</div>
                                </li>
                                <li><a href="/article/1132.htm"
                                       title="今天帮助人解决的一个sql问题" target="_blank">今天帮助人解决的一个sql问题</a>
                                    <span class="text-muted">asialee</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>            今天有个人问了一个问题,如下: 
type     AD      value           
A  </div>
                                </li>
                                <li><a href="/article/1259.htm"
                                       title="意图对象传递数据" target="_blank">意图对象传递数据</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%84%8F%E5%9B%BEIntent/1.htm">意图Intent</a><a class="tag" taget="_blank" href="/search/Bundle%E5%AF%B9%E8%B1%A1%E6%95%B0%E6%8D%AE%E7%9A%84%E4%BC%A0%E9%80%92/1.htm">Bundle对象数据的传递</a>
                                    <div>学习意图将数据传递给目标活动; 初学者需要好好研究的 
   
   1,将下面的代码添加到main.xml中 
   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http:/</div>
                                </li>
                                <li><a href="/article/1386.htm"
                                       title="oracle查询锁表解锁语句" target="_blank">oracle查询锁表解锁语句</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/object/1.htm">object</a><a class="tag" taget="_blank" href="/search/session/1.htm">session</a><a class="tag" taget="_blank" href="/search/kill/1.htm">kill</a>
                                    <div>一.查询锁定的表 
如下语句,都可以查询锁定的表 
语句一: 
select a.sid,
       a.serial#,
       p.spid,
       c.object_name,
       b.session_id,
       b.oracle_username,
       b.os_user_name
  from v$process p, v$s</div>
                                </li>
                                <li><a href="/article/1513.htm"
                                       title="mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]" target="_blank">mac osx 10.10 下安装 mysql 5.6 二进制文件[tar.gz]</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/osx/1.htm">osx</a>
                                    <div>场景:在 mac osx 10.10 下安装 mysql 5.6 的二进制文件。 
 
环境:mac osx 10.10、mysql 5.6 的二进制文件 
 
步骤:[所有目录请从根“/”目录开始取,以免层级弄错导致找不到目录] 
1、下载 mysql 5.6 的二进制文件,下载目录下面称之为 mysql5.6SourceDir; 
下载地址:http://dev.mysql.com/downl</div>
                                </li>
                                <li><a href="/article/1640.htm"
                                       title="分布式系统与框架" target="_blank">分布式系统与框架</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                                    <div>RPC框架 Dubbo 
什么是Dubbo 
  
Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含:    远程通讯: 提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。    集群容错: 提供基于接</div>
                                </li>
                                <li><a href="/article/1767.htm"
                                       title="那些令人蛋痛的专业术语" target="_blank">那些令人蛋痛的专业术语</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/SSO/1.htm">SSO</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a>
                                    <div> 
 spring 
 
【控制反转(IOC)/依赖注入(DI)】: 
由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。 
简单的说:对象的创建又容器(比如spring容器)来执行,程序里不直接new对象。 
 
 Web 
 
【单点登录(SSO)】:SSO的定义是在多个应用系统中,用户</div>
                                </li>
                                <li><a href="/article/1894.htm"
                                       title="《给大忙人看的java8》摘抄" target="_blank">《给大忙人看的java8》摘抄</a>
                                    <span class="text-muted">braveCS</span>
<a class="tag" taget="_blank" href="/search/java8/1.htm">java8</a>
                                    <div>函数式接口:只包含一个抽象方法的接口 
lambda表达式:是一段可以传递的代码 
  
  
  
你最好将一个lambda表达式想象成一个函数,而不是一个对象,并记住它可以被转换为一个函数式接口。 
事实上,函数式接口的转换是你在Java中使用lambda表达式能做的唯一一件事。 
  
方法引用:又是要传递给其他代码的操作已经有实现的方法了,这时可以使</div>
                                </li>
                                <li><a href="/article/2021.htm"
                                       title="编程之美-计算字符串的相似度" target="_blank">编程之美-计算字符串的相似度</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>

public class StringDistance {

	/**
	 * 编程之美 计算字符串的相似度
	 * 我们定义一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:
	 * 1.修改一个字符(如把“a”替换为“b”);
	 * 2.增加一个字符(如把“abdd”变为“aebdd”);
	 * 3.删除一个字符(如把“travelling”变为“trav</div>
                                </li>
                                <li><a href="/article/2148.htm"
                                       title="上传、下载压缩图片" target="_blank">上传、下载压缩图片</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%8B%E8%BD%BD/1.htm">下载</a>
                                    <div>/**
	 * 
	 * @param uploadImage --本地路径(tomacat路径)
	 * @param serverDir   --服务器路径
	 * @param imageType   --文件或图片类型
	 * 此方法可以上传文件或图片.txt,.jpg,.gif等
	 */
	public void upload(String uploadImage,Str</div>
                                </li>
                                <li><a href="/article/2275.htm"
                                       title="bellman-ford(贝尔曼-福特)算法" target="_blank">bellman-ford(贝尔曼-福特)算法</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/F%23/1.htm">F#</a>
                                    <div>Bellman-Ford算法(根据发明者 Richard Bellman 和 Lester Ford 命名)是求解单源最短路径问题的一种算法。单源点的最短路径问题是指:给定一个加权有向图G和源点s,对于图G中的任意一点v,求从s到v的最短路径。有时候这种算法也被称为 Moore-Bellman-Ford 算法,因为 Edward F. Moore zu 也为这个算法的发展做出了贡献。 
 
与迪科</div>
                                </li>
                                <li><a href="/article/2402.htm"
                                       title="oracle ASM中ASM_POWER_LIMIT参数" target="_blank">oracle ASM中ASM_POWER_LIMIT参数</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/ASM_POWER_LIMIT/1.htm">ASM_POWER_LIMIT</a><a class="tag" taget="_blank" href="/search/%E7%A3%81%E7%9B%98%E5%B9%B3%E8%A1%A1/1.htm">磁盘平衡</a>
                                    <div>ASM_POWER_LIMIT 
该初始化参数用于指定ASM例程平衡磁盘所用的最大权值,其数值范围为0~11,默认值为1。该初始化参数是动态参数,可以使用ALTER  SESSION或ALTER  SYSTEM命令进行修改。示例如下: 
 
SQL>ALTER  SESSION  SET   Asm_power_limit=2; 
</div>
                                </li>
                                <li><a href="/article/2529.htm"
                                       title="高级排序:快速排序" target="_blank">高级排序:快速排序</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F/1.htm">快速排序</a>
                                    <div>
    public void quickSort(int[] array){
        this.quickSort(array, 0, array.length - 1);
    }
    
    public void quickSort(int[] array,int left,int right){
        if(right - left <= 0</div>
                                </li>
                                <li><a href="/article/2656.htm"
                                       title="C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节" target="_blank">C语言学习六指针_何谓变量的地址 一个指针变量到底占几个字节</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80/1.htm">C语言</a>
                                    <div># include <stdio.h>

int main(void)
{
	/*
	1、一个变量的地址只用第一个字节表示
	2、虽然他只使用了第一个字节表示,但是他本身指针变量类型就可以确定出他指向的指针变量占几个字节了
	3、他都只存了第一个字节地址,为什么只需要存一个字节的地址,却占了4个字节,虽然只有一个字节,
		但是这些字节比较多,所以编号就比较大,
		</div>
                                </li>
                                <li><a href="/article/2783.htm"
                                       title="phpize使用方法" target="_blank">phpize使用方法</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a>
                                    <div>phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,下面介绍一个它的使用方法,需要的朋友可以参考下 
安装(fastcgi模式)的时候,常常有这样一句命令: 
代码如下: 
/usr/local/webserver/php/bin/phpize 
  
一、phpize是干嘛的? 
phpize是什么? 
phpize是用来扩展php扩展模块的,通过phpi</div>
                                </li>
                                <li><a href="/article/2910.htm"
                                       title="Java虚拟机学习 - 对象引用强度" target="_blank">Java虚拟机学习 - 对象引用强度</a>
                                    <span class="text-muted">shuizhaosi888</span>
<a class="tag" taget="_blank" href="/search/JAVA%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">JAVA虚拟机</a>
                                    <div> 
 本文原文链接:http://blog.csdn.net/java2000_wl/article/details/8090276 转载请注明出处! 
 无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。 
 引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Wea</div>
                                </li>
                                <li><a href="/article/3037.htm"
                                       title=".NET Framework 3.5 Service Pack 1(完整软件包)下载地址" target="_blank">.NET Framework 3.5 Service Pack 1(完整软件包)下载地址</a>
                                    <span class="text-muted">happyqing</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/%E4%B8%8B%E8%BD%BD/1.htm">下载</a><a class="tag" taget="_blank" href="/search/framework/1.htm">framework</a>
                                    <div>  
Microsoft .NET Framework 3.5 Service Pack 1(完整软件包)  
http://www.microsoft.com/zh-cn/download/details.aspx?id=25150 
Microsoft .NET Framework 3.5 Service Pack 1 是一个累积更新,包含很多基于 .NET Framewo</div>
                                </li>
                                <li><a href="/article/3164.htm"
                                       title="JAVA定时器的使用" target="_blank">JAVA定时器的使用</a>
                                    <span class="text-muted">jingjing0907</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E6%97%B6%E5%99%A8/1.htm">定时器</a>
                                    <div>1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。 
对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。 
privatejava.util.Timer timer; 
timer = newTimer(true); 
timer.schedule( 
newjava.util.TimerTask() { public void run() 
</div>
                                </li>
                                <li><a href="/article/3291.htm"
                                       title="Webbench" target="_blank">Webbench</a>
                                    <span class="text-muted">流浪鱼</span>
<a class="tag" taget="_blank" href="/search/webbench/1.htm">webbench</a>
                                    <div>首页下载地址 http://home.tiscali.cz/~cz210552/webbench.html 
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。 
Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相</div>
                                </li>
                                <li><a href="/article/3418.htm"
                                       title="第11章 动画效果(中)" target="_blank">第11章 动画效果(中)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3545.htm"
                                       title="windows下制作bat启动脚本." target="_blank">windows下制作bat启动脚本.</a>
                                    <span class="text-muted">sanyecao2314</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a><a class="tag" taget="_blank" href="/search/bat/1.htm">bat</a>
                                    <div>java -classpath C:\dwjj\commons-dbcp.jar;C:\dwjj\commons-pool.jar;C:\dwjj\log4j-1.2.16.jar;C:\dwjj\poi-3.9-20121203.jar;C:\dwjj\sqljdbc4.jar;C:\dwjj\voucherimp.jar com.citsamex.core.startup.MainStart </div>
                                </li>
                                <li><a href="/article/3672.htm"
                                       title="Java进行RSA加解密的例子" target="_blank">Java进行RSA加解密的例子</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>加密是保证数据安全的手段之一。加密是将纯文本数据转换为难以理解的密文;解密是将密文转换回纯文本。     数据的加解密属于密码学的范畴。通常,加密和解密都需要使用一些秘密信息,这些秘密信息叫做密钥,将纯文本转为密文或者转回的时候都要用到这些密钥。     对称加密指的是发送者和接收者共用同一个密钥的加解密方法。     非对称加密(又称公钥加密)指的是需要一个私有密钥一个公开密钥,两个不同的密钥的</div>
                                </li>
                                <li><a href="/article/3799.htm"
                                       title="Android_ViewStub" target="_blank">Android_ViewStub</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/ViewStub/1.htm">ViewStub</a>
                                    <div>public final class ViewStub extends View 
 
 
 java.lang.Object 
   
   android.view.View 
     
     android.view.ViewStub 
      
    
 
 类摘要: ViewStub 是一个隐藏的,不占用内存空间的视图对象,它可以在运行时延迟加载布局资源文件。当 ViewSt</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>