用户登录
用户注册

Android 检查网络连接状态的代码实现


  在Android开发中如何检查网络的连接状态呢?本文将非常详细地介绍Android检查网络连接状态的代码实现,如果觉得不错,也可以将本文分享给你一起并肩作战的Android开发小伙伴们。
  获取网络信息需要在AndroidManifest.xml文件中加入相应的权限:<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
  1)判断是否有网络连接publicbooleanisNetworkConnected(Contextcontext){if(context!=null){ConnectivityManagermConnectivityManage
  • 0
  • 0
  • 0
  • 0
  • 0

Android 布局属性详解


  本文将介绍Android布局的属性,Android开发者可以关注一下:
  android:id为控件指定相应的ID
android:text指定控件的文本,置尽量使用strings.xml
android:grivity指定控件的基本位置,比如举重,居右,
android:padding指定控件的内边距,控件当中的内容
android:singleLine如果设置为真的话,则将控件的内容在同一行当中显示
  android:layout_above将该空间的底部至于给定ID的空间之上
android:layout_below:将该控件的顶部至于给定ID的控件之下
android:layout_toLeftOf:将该控件的右边缘和给定ID的控件的左边缘对其
android:layout_toRightOf将该控件的左边缘和给定的ID的控件的右边缘对齐
  android:layout_alignBaseLine该控件的baseline和给定ID的控件的Baseline对齐
  • 0
  • 0
  • 0
  • 0
  • 0

Android可滑动Tab的3种实现方法


  Android系统中有着各种各样的Tab组件,并且大部分也都支持滑动,本文将结合代码来实现3种方式的Android可滑动Tab组件,有需要的Android开发者可以收藏。1.第一种,使用TabHost+ViewPager实现
  该方法会有一个Bug,当设置tabHost.setCurrentTab()为0时,ViewPager不显示(准确的说是加载),只有点击其他任意一个tab后才会加载。
  有解的同学吼一声~~~~~~~
  Activity:packagecom.swordy.demo.andro
  • 0
  • 0
  • 0
  • 0
  • 0

Android 按钮单击事件的四种常用写法总结


  很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同。因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可以有一定的参考借鉴价值。
  xml文件代码如下:<Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Button1"/><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="
  • 0
  • 0
  • 0
  • 0
  • 0

Android SharedPreferences存储数据使用实例分析


  在Android开发中,存储数据的方式有很多种,本文将通过一个简单的实例来分析如何用AndroidSharedPreferences数据存储方式来进行轻量级数据的存储。
  SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用来存储一些轻量级的数据.//实例化SharedPreferences对象(第一步)SharedPreferencesmySharedPreferences=getSharedPreferences("test",Activity.MODE_PRIVATE);//实例化SharedPreferences.Editor对象(第二步)SharedPreferences.Editoreditor=mySharedPreferences.edi
  • 0
  • 0
  • 0
  • 0
  • 0

Android Notification 用法的4种形式


  AndroidNotification在每一个Android应用开发中基本都会遇到,它可以按指定的规则向用户推送一些消息,是一项非常实用的功能。本文主要介绍了AndroidNotification用法的4种形式,希望可以对各位Android开发者有所帮助。
  实现通知一般有以下几个步骤:1.获取通知服务对象NotificationManager2.建立Notification对象3.关联intent4.执行通知
  Notification一般有几种用途:,如下图
  1.启动多次通知但只显示一条
  如果有很多通知的内容一样,为了不影响系统通知显示的列表过多,可以进行计数堆积,只显示一条,代码如下:<
  • 0
  • 0
  • 0
  • 0
  • 0

Android访问和加载本地联系人的代码实现


  在Android开发中,我们经常会遇到访问和加载本地联系人的情况,毕竟手机中联系人是最重要的数据之一,很多手机应用都会需要手机联系人的信息,比如姓名、手机号码等。本文通过一个简单的例子以及Android代码,来实现一个本地联系人加载读取的功能。
  首先先建布局文件,界面很简单,就是一个搜索框和下面的联系人列表:
  <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#FFD3D7DF"andro
  • 0
  • 0
  • 0
  • 0
  • 0

Android中使用FragmentManager管理fragments


  本文将通过一个例子,简单介绍了Android中通过FragmentManager来管理fragments的方法和代码,其核心是调用Activity中的getFragmentManager()方法,我们从介绍FragmentManager开始,一起来看看吧。FragmentManager
  为了管理Activity中的fragments,需要使用FragmentManager.
  为了得到它,需要调用Activity中的getFragmentManager()方法。
  因为FragmentManager的API是在Android3.0,也即APIlevel11开始引入的,所以对于之前的版本,需要使用supportlibrary中的FragmentActivity,并且使用getSupportFragmentManager()方法。
  用FragmentManager可以做的工作有:
  得到Activity中存在的fragment
  • 0
  • 0
  • 0
  • 0
  • 0

Android应用解决65K方法数限制


  近日,AndroidDevelopers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持。
  如果你是一名幸运的Android应用开发者,正在开发一个前景广阔的应用,不断地加入新功能、添加新的类库,那么终有一天,你会不幸遇到这个错误:
  ConversiontoDalvikformatfailed:Unabletoexecutedex:methodIDnotin[0,0xffff]:65536
  这个错误是Android应用的方法总数限制造成的。Android平台的Java虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型short来索引DEX文件中的方法。这意味着单个DEX文件可被引用的方法总数被限制为65536。通常APK包含一个classes.dex文件,因此Android应用的方法总数不能超过这个数量,这包括Android框架、类库和你自己开发的代码。
  这个问题可以通过将一个DEX文件分拆成
  • 0
  • 0
  • 0
  • 0
  • 0

Android Fragment生命周期深入探究


  Fragment是Android中的重要组件,在Android3.0的时候添加进来。
  关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach,onCreate,onCreateView,onViewCreated,onActivityCreated,onStart,onResume,onPause,onStop,onDestroyView,onDestroy,onDetach.
  当Fragment以静态的方式,即通过在布局文件中以其它控件的方式设置时,它的生命周期随所在Activity的生命周期而发生变化。此时其生命周期的方法调用过程是这样的:
  1,当首次展示布局页面时,其生命周期方法调用的顺序是:
  2,而当关闭手机屏幕或者手机屏幕变暗时,其其生命周期方法调用的顺序是:<p
  • 0
  • 0
  • 0
  • 0
  • 0

Android翻页效果原理实现之模拟扭曲


  上一节我们实现了翻页的曲线效果,但是效果有点小瑕疵不知道大家发现没有:
  如图,我们发现折叠区域怪怪的,并没有实现我们之前的“弯曲”效果,为什么呢?是计算错了么?其实不是的,我们之前测试的时候使用的将canvas填色,但是这里我们用到的是一张位图,虽然我们的Path是曲线、Region有曲线区域,但是我们的Bitmap是个规规矩矩的矩形啊,怎么弯曲~怎么办呢?说起扭曲,我们首先想到的是drawBitmapMesh方法,它是我们现在了解的也是唯一的一个能对图像进行扭曲的API,而使用drawBitmapMesh方法呢我们也可以有多种思路,最简单的就是最大化恒定细分值,将图像分割成一定的
  • 0
  • 0
  • 0
  • 0
  • 0

如何在Android Studio项目中导入开源库


  前两天,谷歌发布了AndroidStudio1.0的正式版,也有更多的人开始迁移到AndroidStudio进行开发。然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不知道怎么导入到自己的基于AndroidStudio项目中来,微博上也有人私信我,让我来写写,正好今天回来的比较早,就写写吧。主要介绍一下常见的一些导包的场景。前言--project//项目目录|build.gradle//项目的gradle配置文件|settings.gradle//gradle设置,会保存所有的module|app//module目录|__build.gradlemodule的配置|module2//module2目录|__build.gradlemodule的配置
  同eclipse中
  • 0
  • 0
  • 0
  • 0
  • 0

Android反编译:smali语法

前言
  前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。类型的表示
  java里面包含两种类型,原始类型和引用类型(包括对象),同时映射到smali也是有这两大类型。原始类型
  Vvoid(只能用于返回值类型)
Zboolean
Bbyte
Sshort
Cchar
Iint
Jlong
Ffloat
DDouble<h5id="对象类
  • 0
  • 0
  • 0
  • 0
  • 0

Android反编译:反编译工具和方法

前言
  开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它的做法,同时啊,还可以借鉴别人的软件结构,资源文件,等等,哈哈。那我就来讲解一些关于反编译相关的知识,主要分三篇,第一篇介绍反编译的工具和方法,第二篇,介绍smali的语法,第三篇介绍如何防止反编译,主要通过这几篇文章,了解如何去做反编译和代码加固。
  工具apktools-目前最强大的反编译工具
  轻松反编译apk,解析出资源文件,xml文件,生成smali文件,还可以把修改后的文件你想生成apk。
  支持windows,l
  • 0
  • 0
  • 0
  • 0
  • 0

为什么Android App质量不高并且卡顿崩溃


  和前几年iOS能够凭籍App数量将安卓压倒在地、安卓娇喘吁吁起身不能的情况不同,现在安卓的App数量对比iOS平台可谓是有过之而无不及。2009年安卓系统起航伊始,GoogleAndroidMarket内App数量仅有可怜的1万9千个,而现在Play商店内App已经接近一百万个,和苹果AppStore相比毫不逊色甚至更多。安卓App为数庞大,安卓已经靠第三方慢慢充实自身内涵
  然而高产似乎没有为安卓App带来好的口碑,在人们印象中,安卓App的作风和华强北相仿,粗制滥造颇有天朝四百八十寨的雄姿,FC卡顿有如家常便饭。那么为何安卓App的质量如此低居不上呢?下面就让我们一起来看看。精品安卓App的秘密:Holo框架
  安卓App数
  • 0
  • 0
  • 0
  • 0
  • 0

Android Framework层JNI的使用浅析


  JNI技术对于多java开发的朋友相信并不陌生,即(javanativeinterface),本地调用接口,主要功能有以下两点:
  1、java层调用C/C++层代码
  2、C/C++层调用java层代码
  可能有些人会觉得jni技术破坏了Java语言的跨平台性,有这种想法可能是因为你对java理解得还不够深,如果你看看jdk源码,你会发现在jdk里面大量使用了jni技术,而且java虚拟机就是用本地语言写的,所以导致jvm并不能跨平台性,所以说java的跨平台性并不是100%的跨平台的。相反你应该看到使用Jni的优势:
  1、因为C/C++语言本来机比java语言诞生早,所以很多库代码都是使用C/C++写的,有了Jni我们就可以直接使用了,不用重复造轮子。
  2、不可否认,C/C++执行效率比java高,对于一些对效率有要求的功能,必须使用C/C++.
  由于打算研究Android中java层和native层是如何连接起来的,所以想研究一下Android中的jni技术(在阅读之前,最好了解jni中的
  • 0
  • 0
  • 0
  • 0
  • 0

Android中Handler引起的内存泄露


  在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。通常我们的代码会这样实现。publicclassSampleActivityextendsActivity{privatefinalHandlermLeakyHandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemsg){//...}}}
  但是,其实上面的代码可能导致内存泄露,当你使用Androidlint工具的话,会得到这样的警告
  InAndroid,Handlerclassesshouldbestaticorleaksmightoccur,Messagesenqueuedontheapplicationthre
  • 0
  • 0
  • 0
  • 0
  • 0

Android include标签方法浅析


  本文将介绍在Android中如何使用include标签来更便捷地重用布局代码,从而减少冗余的Android代码。
  在一个Android项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include/>标签来重用layout代码。
  app_title.xml:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutandroid:id="@+id/titleLayout"android:layout_width="fill_parent"android:layout_height="wrap_content"android:backgro
  • 0
  • 0
  • 0
  • 0
  • 0

谈谈 23 种设计模式在 Android 项目中的应用

前言
  本文将结合实际谈谈23种设计模式,每种设计模式涉及定义:抽象化的定义与通俗的描述,尽量说明清楚其含义与应用场景示例:如果项目中有使用过该模式,则会给出项目中的代码,否则会给出尽可能简单好理解的java代码Android:该设计模式在Android源码框架中哪些地方有使用到重构:项目中是否存在可以用该模式进行重构的地方,如果有会给出重构前与重构后的代码或者思路
  用这种方式进行介绍设计模式,旨在结合每天都在接触的Android实际项目开发更好地理解设计模式,拉近与设计模式的距离,同时在实际开发与重构中,思考可以应用的重构手段与设计模式,既能保证写出复用性与可靠性更高的代码,也是对如何利用重构与设计模式这两大支柱进行优雅编程的最佳实践与总结。
  同时一次性以这种方式介绍23种设计模式,也是出于既然要使用一个模式,那么就应该要先知道这么一个模式的想法,
  • 0
  • 0
  • 0
  • 0
  • 0

9种常见的Android开发错误及解决方案


  经过各种各样的整理,以及和热心网友讨论,终于整理出了九种android开发中最常见的问题和解决方案再次跟大家分享下!!有用的话请顶顶帖子,共同进步。好了不多说了,下面是详解!
  1.如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致.
  2.布局文件不可以有大写字母
  3.抛出如下错误WARNING:ApplicationdoesnotspecifyanAPIlevelrequirement!,
  是由于没有指定userssdk的缘故,修改AndroidManifest.xml文件.
  加入:<uses-sdkandroid:minSdkVersion=8></uses-sdk>##
  4.机器内存的瓶颈,当apk大于我们的机器内存时,模拟器无
  • 0
  • 0
  • 0
  • 0
  • 0
1  2  3  4  5  ...  下一页  

分享至

长按复制下方链接,去粘贴给好友吧:
软件
前端设计
程序设计
Java相关