android第一行代码已经看的差不多了,对安卓的开发也有了深入的理解,现在想的是对java还是了解稍浅,还有就是对于比较复杂的UI效果,感觉还是比较虚,关于布局的嵌套啥的,还是认识稍浅,只能是根据书本上的写,接下来可以认真的去学习一下安卓UI布局,还有就是对于java的学习。下一步是什么哪?其实我觉得安卓开发可能是比ios开发相对来说要简单一点的,但是最坑的是安卓的API感觉非常的怪异,有种找不到怎么写的感觉,不像是ios,有什么接口点击进去一看便知的直视感,可能是我这方面本身的理解就比较浅吧。
(安卓中的布局)[http://www.jianshu.com/p/4fac6304d872]
(安卓中常用的类及方法)[http://blog.csdn.net/wxhlinux/article/details/8601170]
安卓学习中用到的类及方法
SharedPreferences.Editor
PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor putString(String var1, String var2);
void apply();
Intent
public Intent(Context packageContext, Class<?> cls)
public String getStringExtra(String name)
View
public void setVisibility(int visibility)
setOnClickListener(View.OnClickListener l)
Glide
public static RequestManager with(FragmentActivity activity)
public DrawableTypeRequest
public Target
Activity
public Intent getIntent()
public final Application getApplication()
public WindowManager getWindowManager()
public Window getWindow()
protected void onCreate(Bundle savedInstanceState)
protected void onStart()
protected void onRestart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onDestroy()
public FragmentManager getFragmentManager()
public View findViewById(int id)
public ActionBar getActionBar()
public void setActionBar(Toolbar toolbar)
public void setContentView(int layoutResID)
public void setContentView(View view)
public boolean onMenuItemSelected(int featureId, MenuItem item)
public boolean onCreateOptionsMenu(Menu menu)
public boolean onOptionsItemSelected(MenuItem item)
public LayoutInflater getLayoutInflater()
public MenuInflater getMenuInflater()
public void setTheme(int resid)
public final void requestPermissions(String[] permissions, int requestCode)
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
public void startActivityForResult(Intent intent, int requestCode)
public void startActivityForResult(Intent intent, int requestCode, Bundle options)
public void startActivity(Intent intent)
public void startActivityFromFragment(Fragment fragment, Intent intent, int requestCode)
public void finish()
public SharedPreferences getPreferences(int mode)
public Object getSystemService(String name)
public void setTitle(CharSequence title)
public boolean navigateUpTo(Intent upIntent)
public Intent getParentActivityIntent()
public final void runOnUiThread(Runnable action)
LayoutInflater
public static LayoutInflater from(Context context)
public Context getContext()
public View inflate(int resource, ViewGroup root)
Service
public void onCreate()
public void onStart(Intent intent, int startId)
public void onDestroy()
public abstract IBinder onBind(Intent var1)
public boolean onUnbind(Intent intent)
public final void stopSelf()
public final void startForeground(int id, Notification notification)
OkHttp
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(address).build();
client.newCall(request).enqueue(callback);
JSONArray
public JSONObject getJSONObject(int index) throws JSONException
public int length()
public JSONArray put(boolean value)
public boolean isNull(int index)
public String toString()
TextUtils
public static int indexOf(CharSequence s, char ch)
public static String[] split(String text, String expression)
public static String substring(CharSequence source, int start, int end)
public static boolean isEmpty(CharSequence str)
public static boolean equals(CharSequence a, CharSequence b)
Exception
public String getMessage()
public String toString()
public void printStackTrace()
ArrayAdapter
public ArrayAdapter(Context context, int resource, List
public void add(T object)
public void insert(T object, int index)
public void remove(T object)
public void clear()
public void notifyDataSetChanged()
public Context getContext()
public int getCount()
public T getItem(int position)
public int getPosition(T item)
public View getView(int position, View convertView, ViewGroup parent)
ListView
public void addHeaderView(View v)
public void addFooterView(View v, Object data, boolean isSelectable)
public void setAdapter(ListAdapter adapter)
29个android开发常用的类、方法及接口
1、Throwable类中的getStackTrace()方法,根据这个方法可以得到函数的逐层调用地址,其返回值为StackTraceElement[];
2、StackTraceElement类,其中四个方法getClassName(),getFileName(),getLineNumber(),getMethodName()在调试程序打印Log时非常有用;
3、UncaughtExceptionHandler接口,再好的代码异常难免,利用此接口可以对未捕获的异常善后;
4、Resources类中的getIdentifier(name, defType, defPackage)方法,根据资源名称获取其ID,做UI时经常用到;
5、View中的isShown()方法,以前都是用view.getVisibility() == View.VISIBLE来判断的;
6、Arrays类中的一系列关于数组操作的工具方法:binarySearch(),asList(),equals(),sort(),toString(),copyOfRange()等;
Collections类中的一系列关于集合操作的工具方法:sort(),reverse()等;
7、android.text.format.Formatter类中formatFileSize(Context, long)方法,用来格式化文件Size(B → KB → MB → GB);
8、android.media.ThumbnailUtils类,用来获取媒体(图片、视频)缩略图;
9、String类中的format(String, Object…)方法,用来格式化strings.xml中的字符串;
10、View类中的三个方法:callOnClick(),performClick(),performLongClick(),用于触发View的点击事件;
11、TextUtils类中的isEmpty(CharSequence)方法,判断字符串是否为null或””;
12、TextView类中的append(CharSequence)方法,添加文本。一些特殊文本直接用+连接会变成String;
13、View类中的getDrawingCache()等一系列方法,目前只知道可以用来截图;
14、DecimalFormat类,用于字串格式化包括指定位数、百分数、科学计数法等;
15、System类中的arraycopy(src, srcPos, dest, destPos, length)方法,用来copy数组;
16、Fragment类中的onHiddenChanged(boolean)方法,使用FragmentTransaction中的hide(),show()时貌似Fragment的其它生命周期方法都不会被调用,太坑爹!
17、Activity类中的onWindowFocusChanged(boolean),onNewIntent(intent)等回调方法;
18、View类中的getLocationInWindow(int[])方法和getLocationOnScreen(int[])方法,获取View在窗口/屏幕中的位置;
19、TextView类中的setTransformationMethod(TransformationMethod)方法,可用来实现“显示密码”功能;
20、TextWatcher接口,用来监听文本输入框内容的改变,可用来实现一系列具有特殊功能的文本输入框;
21、View类中的setSelected(boolean)方法结合android:state_selected=””用来实现图片选中效果;
22、Surface设置透明:SurfaceView.setZOrderOnTop(true);
SurfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);但是会挡住其它控件;
23、ListView或GridView类中的setFastScrollEnabled(boolean)方法,用来设置快速滚动滑块是否可见,当然前提是item够多;
24、PageTransformer接口,用来自定义ViewPager页面切换动画,用setPageTransformer(boolean, PageTransformer)方法来进行设置;
25、apache提供的一系列jar包:commons-lang.jar,commons-collections.jar,commons-beanutils.jar等,里面很多方法可能是你曾经用几十几百行代码实现过的,但是执行效率或许要差很多,比如:ArrayUtils,StringUtils……;
26、AndroidTestCase类,Android单元测试,在AndroidStudio中使用非常方便;
27、TextView类的setKeyListener(KeyListener)方法;
其中DigitsKeyListener类,使用getInstance(String accepted)方法即可指定EditText可输入字符集;
28、ActivityLifecycleCallbacks接口,用于在Application类中监听各Activity的状态变化;
29、Context类中的createPackageContext(packageName, flags)方法,可用来获取指定包名应用程序的Context对象。