Android 4.4全屏模式 沉浸模式报错:SYSTEM_UI_FLAG_IMMERSIVE cannot be resolved or is not a

 更新时间:2016年9月20日 19:59  点击:2400
在使用Android 4.4新增特性\"View.SYSTEM_UI_FLAG_IMMERSIVE\"时,Eclipse报错:SYSTEM_UI_FLAG_IMMERSIVE cannot be resolved or is not a field,下面一起来看解决办法
解决方法:
首先需要保证SDK的API level >= 19,否则你需要通过Android SDK Manager下载大于等于19的开发版本。
版本没问题的话,然后打开菜单 => "Project" => "properties" => "Android" => "Project Build Target" => 勾选19以上的API。
Android 4.4全屏模式  沉浸模式报错:SYSTEM_UI_FLAG_IMMERSIVE cannot be resolved or is not a
学完了Java(虽说没怎么练手),开始学Android编程。首先还是做个计算器(感觉这辈子只能做计算器了 话说Android的布局真是太方便了,下面是布局文件

例子

 代码如下 复制代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/warpcontent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <HorizontalScrollView
        android:id="@+id/scrollview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/resultText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:gravity="right"
            android:padding="8dp"
            android:paddingLeft="10dp"
            android:paddingRight="10dp"
            android:text="@string/number0"
            android:textSize="40sp" />
    </HorizontalScrollView >

    <TableLayout
        android:id="@+id/buttonTable"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:stretchColumns="*" >

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number7" />

            <Button
                android:id="@+id/button8"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number8" />

            <Button
                android:id="@+id/button9"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number9" />

            <Button
                android:id="@+id/buttonBackSpace"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/backspace" />

            <Button
                android:id="@+id/buttonClear"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/clear" />
        </TableRow>

        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1" >

            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number4" />

            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number5" />

            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/number6" />

            <Button
                android:id="@+id/buttonMultiply"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/multiply" />

            <Button
                android:id="@+id/buttonDivide"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:onClick="onClickListener"
                android:text="@string/divide" />
        </TableRow>
    </TableLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <TableLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="3"
            android:stretchColumns="*" >

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1" >

                <Button
                    android:id="@+id/button1"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/number1" />

                <Button
                    android:id="@+id/button2"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/number2" />

                <Button
                    android:id="@+id/button3"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/number3" />
            </TableRow>

            <TableRow
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1" >

                <Button
                    android:id="@+id/button0"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/number0" />

                <Button
                    android:id="@+id/buttonDot"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/dot" />

                <Button
                    android:id="@+id/buttonNegSign"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:onClick="onClickListener"
                    android:text="@string/negSign" />
            </TableRow>
        </TableLayout>

        <Button
            android:id="@+id/buttonPlus"
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:onClick="onClickListener"
            android:text="@string/plus" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:orientation="vertical" >

            <Button
                android:id="@+id/buttonMinus"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:onClick="onClickListener"
                android:text="@string/minus" />

            <Button
                android:id="@+id/buttonEval"
                android:layout_width="fill_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:onClick="onClickListener"
                android:text="@string/eval" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

MainActivity类和之前的java计算器差不多:

 代码如下 复制代码

package me.jerrys.calc;

import java.math.BigDecimal;

import android.support.v7.app.ActionBarActivity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends ActionBarActivity {
 private TextView textView;
 private BigDecimal lastNum = new BigDecimal("0");
 private BigDecimal currentNum = new BigDecimal("0");
 private String currentText;
 private boolean typeClean = false;
 private boolean hadCalced = false;
 private MODE currentMode = MODE.PLUS;
 private enum MODE {
  PLUS, MINUS, MULTIPLY, DIVIDE
 }
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  textView = (TextView) findViewById(R.id.resultText);
 }

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }

 public void onClickListener(View v) {
  currentText = textView.getText().toString();
  switch (v.getId()) {
  case R.id.button0:
   addNumber("0");
   break;
  case R.id.button1:
   addNumber("1");
   break;
  case R.id.button2:
   addNumber("2");
   break;
  case R.id.button3:
   addNumber("3");
   break;
  case R.id.button4:
   addNumber("4");
   break;
  case R.id.button5:
   addNumber("5");
   break;
  case R.id.button6:
   addNumber("6");
   break;
  case R.id.button7:
   addNumber("7");
   break;
  case R.id.button8:
   addNumber("8");
   break;
  case R.id.button9:
   addNumber("9");
   break;
  case R.id.buttonNegSign:
   addSign();
   break;
  case R.id.buttonClear:
   clear();
   break;
  case R.id.buttonBackSpace:
   backSpace();
   break;
  case R.id.buttonPlus:
   setMode(MODE.PLUS);
   break;
  case R.id.buttonMinus:
   setMode(MODE.MINUS);
   break;
  case R.id.buttonMultiply:
   setMode(MODE.MULTIPLY);
   break;
  case R.id.buttonDivide:
   setMode(MODE.DIVIDE);
   break;
  case R.id.buttonEval:
   calc();
   break;
  case R.id.buttonDot:
   addNumber(".");
   break;
  }
 }
 private void calc() {
  if (hadCalced && typeClean) return;
  currentNum = new BigDecimal(currentText);
  try {
   switch (currentMode) {
   case PLUS:
    lastNum = lastNum.add(currentNum);
    break;
   case MINUS:
    lastNum = lastNum.subtract(currentNum);
    break;
   case MULTIPLY:
    lastNum = lastNum.multiply(currentNum);
    break;
   case DIVIDE:
    lastNum = lastNum.divide(currentNum, 16,
      BigDecimal.ROUND_HALF_DOWN);
    break;
   }
  } catch (Exception e) {
   Toast.makeText(getApplicationContext(), "发生错误:"+e.getMessage(), Toast.LENGTH_SHORT).show();
   return;
  }
  String resultText = lastNum.toString();
  if (resultText.indexOf(".") > 0) { // 消除小数多余位数
   resultText = resultText.replaceAll("0+?$", "");
   resultText = resultText.replaceAll("[.]$", "");
  }
  setResultText(resultText);
  typeClean = true;
  hadCalced = false;
 }
 private void setMode(MODE mode) {
  if (!hadCalced && !typeClean) {
   calc();
   currentMode = mode;
   return;
  }
  lastNum = new BigDecimal(currentText);
  currentMode = mode;
  typeClean = true;
  hadCalced = true;
 }
 
 private void addSign() {
  if (currentText.equals("0") || currentText.equals("")) return;
  if (currentText.startsWith("-")) setResultText(currentText.substring(1));
  else setResultText("-" + currentText);
 }
 
 private void clear() {
  currentNum = new BigDecimal("0");
  lastNum = new BigDecimal("0");
  typeClean = false;
  currentMode = MODE.PLUS;
  setResultText("0");
 }
 
 private void setResultText(String string) {
  textView.setText(string);
 }

 public void addNumber(String num) {
  String resultText = currentText;
  if (typeClean == true) {
   resultText = "0";
   typeClean = false;
  }
  if (num.equals(".") && currentText.lastIndexOf(".") != -1) return;
  if ((resultText.equals("0") || resultText.equals(""))
    && !num.equals("."))
   resultText = "";
  resultText = resultText + num;
  setResultText(resultText);
 }
 
 private void backSpace() {
  if (currentText.equals("0") || currentText.equals("")) return;
  if (currentText.length() == 1) {
   setResultText("0");
   return;
  }
  setResultText(currentText.substring(0, currentText.length() - 1));
 }
 
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  if (item.getItemId() == R.id.action_about) {
   new AlertDialog.Builder(this).setTitle("关于").setMessage("【Android www.111cn.net简易计算器】n作者  JerryLocken博客  n源码  /android-simple-calc").setPositiveButton("确定", null).show();
   return true;
  }
  return super.onOptionsItemSelected(item);
 }
}


QQ截图20140423183332

下面给大家分享一篇关于利用ListView实现圆弧列表的方法,希望此教程对各位安卓开发者会带来帮助哦。
简介
制作一个垂直列表非常常见也很简单,如下所示:
Android使用ListView实现圆弧列表例子
但是我们如何创建一个可以圆弧型的列表呢?就像下面的效果:
Android使用ListView实现圆弧列表例子
如何实现?
当然,我们必须定制一个视图来创建一个那样的列表。我决定使用SurfaceView 来创建这个列表视图。经过分析之后,该问题包含如下内容:
  • 如何在圆弧内绘制图片?
  • 如何让列表按照圆弧的轨迹滑动?
如何在圆弧内绘制图片?
假设有一个带中心点的圆弧(centerX, centerY)和半径r。一个点P有相对于中心点的角度。那么下面的公式就可以描述出该问题:
  • P(x) =  centerX + cos(alpha) *r.
  • P(y) = centerY - sin(alpha) * r.
基于此,我们可以很方便的在圆弧上绘制一个列表项.
如何在圆弧上滑动列表视图?
当用户滑动列表时,会出现该问题。我们如何更新每个列表项的角度?确切的说,我们必须详细记录滑动的角度。之后添加到当前列表视图中每一项的角度中。为了解决这个要求。我决定使用GestureDetector 来控制这个事件。同时,在这个类中,我主要考虑的是如何详细记录滑动的角度(函数名如下).
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
基于e2, distanceX, 和 distanceY,滑动的角度将被详细记录到下面的图片中:
Android使用ListView实现圆弧列表例子
基于此图片,我们给出了下面的公式
Android使用ListView实现圆弧列表例子
=> scroll angle = β - α
代码

我讲创建一个展示的列表作为样例。列表中的图片来自于资源文件夹。你可以参考我上传的源代码.

 代码如下 复制代码

int[] playerDrawableResourceIds = new int[] { R.drawable.ronaldo,
            R.drawable.zindance, R.drawable.congvinh, R.drawable.huynhduc,
            R.drawable.gerrard, R.drawable.nagatomo, R.drawable.messi,
            R.drawable.minhphuong, R.drawable.neymar, R.drawable.ronaldo_beo,
            R.drawable.ronaldinho, R.drawable.xavi };


如何在圆弧中绘制图片?

首先,创建一个列表项的类CircleDrawItem.

 代码如下 复制代码
 
public class CircleDrawItem {
    public Bitmap mIconBitmap;
    public double mAngle;
}

    mIconBitmap: 列表项的位图.

    mAngle: 每个列表项的弧度。这个弧度在旋转列表项的时候会被更新.

因为该圆弧将被在屏幕左侧展示。所以圆心将会把X坐标设置为负数。同时,Y坐标将被设置为屏幕中心的Y坐标值.
 

 代码如下 复制代码
mCenterX = (int) (-Global.dp * 200);
mCenterY = (int) (Global.dh / 2.0f);
mRadius = (int) (450 * Global.dp);
mStartAngleInRadian = Math.PI / 4;


用Global 的值进行计算:

 代码如下 复制代码
 
Global.dw = getResources().getDisplayMetrics().widthPixels;
Global.dh = getResources().getDisplayMetrics().heightPixels;
Global.dp = Global.density / 1.5f;


这个圆弧保有CircleDrawItem的数组列表。第一项的弧度为PI/4。每个列表项的间隔是PI/10.第一项的弧度和两项间的弧度可以根据你的需求进行修改。

 

 代码如下 复制代码
for (int i = 0; i < playerDrawableResourceIds.length; i++) {
    CircleDrawItem circleDrawItem = new CircleDrawItem();
    circleDrawItem.mIconBitmap = decodeSampledBitmapFromResource(
            getResources(), playerDrawableResourceIds[i], 50, 50);
    circleDrawItem.mAngle = mStartAngleInRadian - i * Math.PI / 10;
    datas.add(circleDrawItem);     
}

我创建了一个线程,以便将每个数据项绘制到圆弧中。

 代码如下 复制代码
 
protected void draw() {
    Canvas canvas = getHolder().lockCanvas();
    if (canvas == null) {
        return;
    }
    canvas.save();
    canvas.drawColor(Color.TRANSPARENT, Mode.CLEAR);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    paint.setAntiAlias(true);
 
    for (int i = 0; i < datas.size(); i++) {
        canvas.save();
        CircleDrawItem item = datas.get(i);
        double x = mCenterX + Math.cos(item.mAngle) * mRadius;
        double y = mCenterY - Math.sin(item.mAngle) * mRadius;
        canvas.drawBitmap(item.mIconBitmap,
                (int) x - item.mIconBitmap.getWidth() / 2, (int) y
                        - item.mIconBitmap.getHeight() / 2, paint);
        canvas.restore();
    }
    canvas.restore();
    getHolder().unlockCanvasAndPost(canvas);
}

如何让列表在圆弧中滑动?

引用OnGestureListener 并重载onScroll()函数。

 代码如下 复制代码

 
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
    float tpx = e2.getX();
    float tpy = e2.getY();
    float disx = (int) distanceX;
    float disy = (int) distanceY;
    double scrollAngle = calculateScrollAngle(tpx, tpy, tpx + disx, tpy
            + disy);
    for (int i = 0; i < datas.size(); i++) {
        datas.get(i).mAngle += scrollAngle;
    }
    return true;
}

计算滑动角度的方法如下:

 代码如下 复制代码

 
private double calculateScrollAngle(float px1, float py1, float px2,
        float py2) {
    double radian1 = Math.atan2(py1, px1);
    double radian2 = Math.atan2(py2, px2);
    double diff = radian2 - radian1;
    return diff;
}

最近在学习android应用开发了,但看到一段代码中有一句Handler.removeCallbacksAndMessages(null)当时搞不明白为什么时候会是移除空了,后来参考了一些资料才知识,下面一起来看看。

今天都到一段代码,在onDestroy()方法中,使用了下面的代码:


mHandler.removeCallbacksAndMessages(null);
 
一开始我完全看不懂,我为什么参数是null,如果是null还需要移除什么Callbacks和Messages。后来察看官方文档有以下说明:

地址:http://developer.android.com/reference/android/os/Handler.html#removeCallbacksAndMessages%28java.lang.Object%29

 
public final void removeCallbacksAndMessages(Object token)

Added in API level 1
Remove any pending posts of callbacks and sent messages whose obj istoken. If token is null, all callbacks and messages will be removed.
 

上面的意思是说,如果参数为null的话,会将所有的Callbacks和Messages全部清除掉。
 

这样做的好处是在Acticity退出的时候,可以避免内存泄露。

如果你想制作自己的Android天气应用,那么你来对地方了.没有比使用Google Weather API XML解析更简单的方法了.所以你只需要知道如何解析XML即可.

背景
我们需要简单的访问XML来解析XML文档.因此,你只要知道在XML文档代码里结果的位置地方,然后解析它就很简单.举个例子,在下面这张图里,我们想要知道有关突尼斯的斯法克斯的天气:

一开始,我们需要指定我们想要知道天气的城市或者州.

 代码如下 复制代码

String c = city.getText().toString();
        String s = state.getText().toString();
        StringBuilder URL = new StringBuilder(BaseURL);
        URL.append(c+","+s);
        String fullUrl= URL.toString();
        try
        {
            URL website= new URL(fullUrl);
            //getting xmlReader to parse data
            SAXParserFactory spf= SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader() ;
            HandlingXmlStuff doingWork = new HandlingXmlStuff();
            xr.setContentHandler(doingWork);
            xr.parse(new InputSource(website.openStream()));
            String information = doingWork.getInformation();
            tv.setText(information);
        }
        catch(Exception e)
        {
            tv.setText("error");
        }

然后, 我们开始解析XML文档.

 代码如下 复制代码

public class HandlingXmlStuff extends DefaultHandler {
XMLDataCollected info = new XMLDataCollected();
public String getInformation()
{
    return info.dataToString();
}
 
    @Override
    public void startElement(String uri, String localName, String qName,
            Attributes attributes) throws SAXException {
        if (localName.equals("city"))
        {
            String city=attributes.getValue("data");
            info.setCity(city);
        }else if (localName.equals("temp_f")){
            String t = attributes.getValue("data");
            int temp = Integer.parseInt(t);
            info.setTemp(temp);
        }     
    }
}

我们需要指定我们的数据模型和使用的功能.

 代码如下 复制代码
public class XMLDataCollected {
    int temp= 0;
    String city=null ;
    public void setCity(String c)
    {
        city= c ;
    }
    public void setTemp(int t )
    {
        temp = t ;
    }
    public String dataToString()
    {
        return "In"+city+" the current Temp in F is "+ temp+" degrees";
    }
} 。

兴趣点
在这个方案里, 你学会了在Android应用里如何使用XML解析来轻松制作许多功能

 

[!--infotagslink--]

相关文章

  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • Android模拟器上模拟来电和短信配置

    如果我们的项目需要做来电及短信的功能,那么我们就得在Android模拟器开发这些功能,本来就来告诉我们如何在Android模拟器上模拟来电及来短信的功能。 在Android模拟...2016-09-20
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • 夜神android模拟器设置代理的方法

    夜神android模拟器如何设置代理呢?对于这个问题其实操作起来是非常的简单,下面小编来为各位详细介绍夜神android模拟器设置代理的方法,希望例子能够帮助到各位。 app...2016-09-20
  • android自定义动态设置Button样式【很常用】

    为了增强android应用的用户体验,我们可以在一些Button按钮上自定义动态的设置一些样式,比如交互时改变字体、颜色、背景图等。 今天来看一个通过重写Button来动态实...2016-09-20
  • Android WebView加载html5页面实例教程

    如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
  • 深入理解Android中View和ViewGroup

    深入理解Android中View和ViewGroup从组成架构上看,似乎ViewGroup在View之上,View需要继承ViewGroup,但实际上不是这样的。View是基类,ViewGroup是它的子类。本教程我们深...2016-09-20
  • Android自定义WebView网络视频播放控件例子

    下面我们来看一篇关于Android自定义WebView网络视频播放控件开发例子,这个文章写得非常的不错下面给各位共享一下吧。 因为业务需要,以下代码均以Youtube网站在线视...2016-10-02
  • Android用MemoryFile文件类读写进行性能优化

    java开发的Android应用,性能一直是一个大问题,,或许是Java语言本身比较消耗内存。本文我们来谈谈Android 性能优化之MemoryFile文件读写。 Android匿名共享内存对外A...2016-09-20
  • Android设置TextView竖着显示实例

    TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
  • android.os.BinderProxy cannot be cast to com解决办法

    本文章来给大家介绍关于android.os.BinderProxy cannot be cast to com解决办法,希望此文章对各位有帮助呀。 Android在绑定服务的时候出现java.lang.ClassCastExc...2016-09-20
  • Android 开发之布局细节对比:RTL模式

    下面我们来看一篇关于Android 开发之布局细节对比:RTL模式 ,希望这篇文章对各位同学会带来帮助,具体的细节如下介绍。 前言 讲真,好久没写博客了,2016都过了一半了,赶紧...2016-10-02
  • Android 实现钉钉自动打卡功能

    这篇文章主要介绍了Android 实现钉钉自动打卡功能的步骤,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下...2021-03-15
  • Android中使用SDcard进行文件的读取方法

    首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在AndroidManifest.xml中加入访问SDCard的权限如下: <!--...2016-09-20
  • Android开发之PhoneGap打包及错误解决办法

    下面来给各位简单的介绍一下关于Android开发之PhoneGap打包及错误解决办法,希望碰到此类问题的同学可进入参考一下哦。 在我安装、配置好PhoneGap项目的所有依赖...2016-09-20
  • 用Intel HAXM给Android模拟器Emulator加速

    Android 模拟器 Emulator 速度真心不给力,, 现在我们来介绍使用 Intel HAXM 技术为 Android 模拟器加速,使模拟器运行度与真机比肩。 周末试玩了一下在Eclipse中使...2016-09-20
  • Android判断当前屏幕是全屏还是非全屏

    在安卓开发时我碰到一个问题就是需要实现全屏,但又需要我们来判断出用户是使用了全屏或非全屏了,下面我分别找了两段代码,大家可参考。 先来看一个android屏幕全屏实...2016-09-20
  • Android开发中布局中的onClick简单完成多控件时的监听的利与弊

    本文章来为各位介绍一篇关于Android开发中布局中的onClick简单完成多控件时的监听的利与弊的例子,希望这个例子能够帮助到各位朋友. 首先在一个控件加上这么一句:and...2016-09-20
  • Ubuntu 系统下安装Android开发环境 Android Studio 1.0 步骤

    Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,可以在Linux,Mac OS X,Window...2016-09-20