2017年10月24日 星期二

VM檔案互傳


這個問題網路上有提到,我是覺得這個方式簡單易懂所以就分享在這邊

選擇VM視窗上方VM的選單->settings->Options頁面->Shared Folders->Always enabled->新增實體資料夾 
VMware Shared Folders:在虛擬機網路上芳鄰看到該資料夾

以下是圖片:
1、VM的選單->settings


2、Options頁面->Shared Folders->Always enabled->新增實體資料夾





以下是在vm的資料夾路徑:
在虛擬機網路上芳鄰找到該資料夾就可以和上述的實體資料夾對傳資料








2017年10月14日 星期六

[Android]android webview常用設定

android webview常用設定
大概整理了比較常用的webview的元件和項目在這邊以便查詢:



1、webSettings
詳細可以看android sdk相關文檔
設定webview的屬性處理:

方法名稱 描述
setAllowFileAccess 是否允許web連本地資料
setAppCatchMaxSize 設定快取最大值
setAppCatchEnable 設定API是否支援快取
setAppCatchPath 設定快取存放路徑
setAppCatchMode 設定快取類型,LOAD_NO_CACHE:不使用快取
setDomStorageEnabled 設定是否使用DOM Storage缓存
setJavaScriptEnabled 設定是否使用JavaScript
setSaveFromData 設定是否儲存表單數據
setSavePassword 設定是否儲存密碼
setSupportMulitipleWindows 設定是否支援多視窗瀏覽
setSupportZoom 設定是否支援頁面縮放


以下是範例:
setting.setDomStorageEnabled(true);//设置DOM Storage缓存

其他設定範例:(一般webview設定不會用到這個,這裡只是方便查詢)
物件.addJavascriptInterface(this, "javatojs");



2、webviewclient
設定webview的事件處理

方法名稱 描述
onUpdateVistiedHistory 更新歷史記錄觸發
onPageFinished 頁面載入完成觸發


以下是範例:
private final class WebViewClientImpl extends WebViewClient
{
        public void WebViewClientImpl()
        {
        }

        @Override
        public void onPageFinished(WebView view, String url)
        {
            view.loadUrl("javascript:window.ExtObj.responseResult(getFacebookShareURL())");
        }
}




3、webChromeclient
處理例如alert、頁面載入進度事件

方法名稱 描述
onJsAlert javascript的alert事件
onJsConfirm javascript的Confirm事件
onProgressChanged 頁面進度

以下是範例:
物件.addJavascriptInterface(new WebMap2.JsCallBack(), "ExtObj");
            物件.setWebChromeClient(new WebChromeClient(){
                @Override
                public void onProgressChanged(WebView view, int newProgress) {
                 
                }
            });

2017年10月11日 星期三

[Android]如何把eclipse的程式轉入android studio

這個問題的答案很簡單,就只是下圖黃色處,import eclipse的檔案就會自動轉成支援android stuido的版本,這個問題是自己幾天沒看就退步了,特別記在這邊。

[Android] Gridview研究(一)


這篇是研究,如何使用Gridview,這裡先舉最簡單的例子,例如這個2x2的純圖片按下去可以知道按到那個項目的功能:下載連結


F:\_android_work\Android_work_new2\webview_new\GridViewEx\app



程式用書上的例子就好,我想把這個程式整個研究一遍。ImageAdapter的部份要研究一下,先研究到這邊。
xml:
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

            android:id="@+id/gridView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:numColumns="2"
        android:stretchMode="columnWidth" >

   








MainActivity:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById(R.id.gridView1);
gridview.setAdapter(new ImageAdapter(this));
gridview.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
Toast.makeText(this, "選取"+(arg2+1)+"", Toast.LENGTH_SHORT).show();
}
}





ImageAdapter.java:
public class ImageAdapter extends BaseAdapter {
int[] images = { R.drawable.feather1, R.drawable.feather2,
R.drawable.feather3, R.drawable.feather4,
R.drawable.feather5, R.drawable.feather6 };
Context mContext;
ImageAdapter(Context c) {
mContext = c;
}

@Override
public int getCount() {
return images.length;
}
@Override
public Object getItem(int arg0) {
return arg0;
}

@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
ImageView imageView;
if (arg1 == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(288, 288));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
} else {
imageView = (ImageView) arg1;
}
imageView.setImageResource(images[arg0]);
return imageView;
}
}