首页 文章 精选 留言 我的

精选列表

搜索[android studio],共10000篇文章
优秀的个人博客,低调大师

Android:menu

代码设置menu形式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 public class MainActivity extends Activity { private final int MENU_ID_SETTING = 1 ; private final int MENU_ID_EXIT = 2 ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //重写onCreateOptionsMenu创建菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add( 0 ,MENU_ID_SETTING, 0 , "设置" ); menu.add( 0 ,MENU_ID_EXIT, 0 , "退出" ); return super .onCreateOptionsMenu(menu); } //重写onOptionsItemSelected设置菜单事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case MENU_ID_SETTING: Toast.makeText( this , "设置" , Toast.LENGTH_LONG).show(); break ; case MENU_ID_EXIT: Toast.makeText( this , "退出" , Toast.LENGTH_LONG).show(); break ; default : break ; } return super .onOptionsItemSelected(item); } } 清单配置形式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { //通过xml配置菜单 MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.setmenu, menu); return super .onCreateOptionsMenu(menu); } @Override public boolean onMenuItemSelected( int featureId, MenuItem item) { switch (item.getItemId()) { case R.id.item1: Toast.makeText( this , "设置" , Toast.LENGTH_LONG); break ; default : break ; } return super .onMenuItemSelected(featureId, item); } } 本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1200353,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android——Adapter

适配器的数据更新方法notifyDataSetChanged()只有在定义Adapter类时可以调用; 使用ViewHolder优化: (1)创建Holder: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class Holder{ ImageViewimagerView; TextViewtextView; ......... } ( 2 ) public ViewgetView( int position,ViewconvertView,ViewGroupparent){ //TODOAuto-generatedmethodstub Holderholder= null ; if (convertView== null ){ convertView=LayoutInflater.from(context).inflate(resource, null ); holder= new Holder(); holder.imageView=(ImageView)convertView.findViewById(R.id.imageView); holder.textView=(TextView)convertView.findViewById(R.id.textView); convertView.setTag(holder); } else { holder=(Holder)convertView.getTag(); } holder.imageView.setImageResource(image); holder.textView.setText(text) } (3)View.setTag(Object)和View.getTag(): 为View设置附加数据,可以在需要的时候拿来用,在adapter使用是避免了控件的重复实例话,算是一种简单的优化; 本文转自wauoen51CTO博客,原文链接:http://blog.51cto.com/7183397/1604340,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android******Context******

1.Context介绍 Activity是Context一个非直接子类 Context到底代表什么涵义呢? 代表应用程序的环境,Context有很多的功能,包括获取资源、启动intent等等。 Context获取: this(Activity继承自Context) getApplicationContext()方法 两种方式的获取是有区别的: 2.Context的来龙去脉 ■和应用程序的私有目录息息相关 应用程序包名私有目录有3个常用的文件夹:files、cache、shared_prefs、shared_prefs, 如下图所示: Context用对应的方法操作这些目录或其中的的文件。 本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1675154,如需转载请自行联系原作者

优秀的个人博客,低调大师

android:http

使用org.apache.http //生成一个请求对象 HttpGet httpGet = new HttpGet("http://www.baidu.com"); //生成一个Http客户端对象 HttpClient httpClient = new DefaultHttpClient(); //使用Http客户端发送请求对象 InputStream inputStream = null; try { httpResponse = httpClient.execute(httpGet); httpEntity = httpResponse.getEntity(); inputStream = httpEntity.getContent(); //文件流操作 BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String result = ""; String line = ""; // StringBuilder builder = new StringBuilder();while((line = reader.readLine()) != null){ result = result + line; // builder.append(s); } System.out.println(result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } finally{ try{ inputStream.close(); } catch(Exception e){ e.printStackTrace(); } } }/* JSONObject jsonObject = new JSONObject(builder.toString());String re_username = jsonObject.getString("username");String re_password = jsonObject.getString("password");int re_user_id = jsonObject.getInt("user_id"); */ GET和POST方式: GET:即在baseUrl后“ ?” “ &”加一些参数即可 POST方式: NameValuePair nameValuePair1 = new BasicNameValuePair("name",name); //name为读取的值 NameValuePair nameValuePair2 = new BasicNameValuePair("age",age); //age为读取的值 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(nameValuePair1); nameValuePairs.add(nameValuePair2); //生成Entity对象 HttpEntity requestHttpEntity = new UrlEncodedFormEntity(nameValuePairs); HttpPost httpPost = new HttpPost(url); //这里的url是baseUrl 不用拼上?key=value... httpPost.setEntity(requestHttpEntity ); //之后的操作一样 本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2012/05/18/2508400.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android 动画

1.闪烁动画 AlphaAnimation 1 2 3 4 5 6 7 8 9 privatevoid startFlickerAnimation(ImageView img) { final Animation animation = new AlphaAnimation(1f, 0)f; animation.setDuration(500); animation.setInterpolator( new LinearInterpolator()); // do not alter animation rate animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely animation.setRepeatMode(Animation.REVERSE); // img.setAnimation(animation); animation.start(); } 本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/p/3567661.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

Android -- DiskLruCache

DiskLruCache 创建一个磁盘缓存对象: public static DiskLruCache open(File directory, int appVersion, int valueCount, long maxSize); open()方法接收四个参数,第一个参数是数据的缓存文件地址,第二个参数是当前应用程序的版本号,第三个参数是同一个key可以对应多少个缓存文件,一般都是传1,第四个参数是最多可以缓存多少字节的数据。 //创建磁盘缓存文件,首选sdcard,如果sdcard没有挂载或者没有sdcard则获取应用默认的cache目录 public static File getDiskCacheDir(Context context, String uniqueName) { // Check if media is mounted or storage is built-in, if so, try and use external cache dir // otherwise use internal cache dir final String cachePath = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !isExternalStorageRemovable() ? getExternalCacheDir(context).getPath() : context.getCacheDir().getPath(); return new File(cachePath + File.separator + uniqueName); } 获取软件版本号 public int getAppVersion(Context context) { try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); return packageInfo.versionCode; } catch (NameNotFoundException e) { e.printStackTrace(); } return 1; } Java DiskLruCache mDiskLruCache = null; try { File cacheDir = getDiskCacheDir(context, "thumbnails"); if (!cacheDir.exists()) { cacheDir.mkdirs(); } mDiskLruCache = DiskLruCache.open(cacheDir, getAppVersion(context), 1, 10 * 1024 * 1024); } catch (IOException e) { e.printStackTrace(); } 磁盘缓存 //添加缓存 public void addBitmapToCache(String key, Bitmap bitmap) { // Add to memory cache as before,把缓存放到内存缓存中 if (getBitmapFromMemCache(key) == null) { mMemoryCache.put(key, bitmap); } // Also add to disk cache,把缓存放入磁盘缓存 synchronized (mDiskCacheLock) { if (mDiskLruCache != null && mDiskLruCache.get(key) == null) { mDiskLruCache.put(key, bitmap); } } } //获取缓存 public Bitmap getBitmapFromDiskCache(String key) { synchronized (mDiskCacheLock) { // Wait while disk cache is started from background thread while (mDiskCacheStarting) { try { mDiskCacheLock.wait(); } catch (InterruptedException e) {} } if (mDiskLruCache != null) { return mDiskLruCache.get(key); } } return null; } 总结 以上是磁盘缓存的创建和使用方法。在实际操作中内存缓存和磁盘缓存是配合起来使用的,一般先从内存缓存中读取数据,如果没有再从磁盘缓存中读取。 本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/4660669.html,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册