小编Nik*_*wal的帖子

在Android应用程序中检查互联网连接的广播接收器

我正在开发一个用于检查互联网连接的Android广播接收器.

问题是我的广播接收器被调用了两次.我希望它只在网络可用时才被调用.如果它不可用,我不希望得到通知.

这是广播接收器

public class NetworkChangeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        final ConnectivityManager connMgr = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);

        final android.net.NetworkInfo wifi = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        final android.net.NetworkInfo mobile = connMgr
                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

        if (wifi.isAvailable() || mobile.isAvailable()) {
            // Do something

            Log.d("Network Available ", "Flag No 1");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.broadcastreceiverforinternetconnection"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <receiver android:name=".NetworkChangeReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" …
Run Code Online (Sandbox Code Playgroud)

java android broadcastreceiver android-networking android-wifi

228
推荐指数
12
解决办法
25万
查看次数

使用数字键将JavaScript对象转换为数组

我有一个像这样的对象作为来自服务器的JSON响应返回:

{"0":"1","1":"2","2":"3","3":"4"}
Run Code Online (Sandbox Code Playgroud)

我想将它转换为像这样的JavaScript数组:

["1","2","3","4"]
Run Code Online (Sandbox Code Playgroud)

有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用循环来使用复杂的逻辑.那么有没有其他方法来做到这一点?

javascript arrays jquery json javascript-objects

174
推荐指数
7
解决办法
67万
查看次数

mysql服务器端口号

我刚在服务器上创建了一个关于mysql的数据库.我想通过我的网站使用PHP连接到这个.这是我的连接文件的内容:

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';

$conn = mysql_connect($dbhost, $dbuser, $dbpass)
    or die('Error connecting to mysql');

$dbname = 'epub';
mysql_select_db($dbname);
Run Code Online (Sandbox Code Playgroud)

我知道用户名/密码是什么,我知道服务器的IP地址.我只是想知道我怎么知道使用哪个端口?

php mysql database database-connection port-number

65
推荐指数
4
解决办法
33万
查看次数

更改jQuery UI按钮大小?

我一直在我的页面上使用jQuery UI按钮,但是我还没有找到解决似乎是一个简单问题的方法.我希望我的一些按钮比另一个小,这应该像设置按钮文本的CSS一样简单,font: .8em;但是jQuery UI采用你的DOM元素并包装它:

<button class="ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all">
   <span class="ui-button-text">Button Label</span>
</button>
Run Code Online (Sandbox Code Playgroud)

因此,如果我有一个<button class="small-button">Small button!</button>jQuery将文本放在子跨度.给予small-button该类的任何字体大小都将被忽略.

必须要解决这个问题,而不要犹豫jQuery如何制作按钮.有任何想法吗?

javascript jquery jquery-ui jquery-ui-button

49
推荐指数
4
解决办法
7万
查看次数

在Android原生来电屏幕上弹出窗口,如真正的来电Android应用

我正在开发一个广播接收器,用于Android中的来电和接听来电,我想在本地来电屏幕上弹出一个弹出窗口.

我完成了那段代码.但现在的问题是,在Android 4.1(Jelly Bean)API级别17中,当电话响铃时,它PHONE_STATE就会出现OFF HOOK,如果我正在调用一个活动,它会被调用,但它下面的代码不会被执行.我列出了代码:

我的广播接收器

package com.example.popwindowonincomingcallscreen;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.util.Log;

public class IncomingBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Log.d("IncomingBroadcastReceiver: onReceive: ", "flag1");

        String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
        Log.d("IncomingBroadcastReceiver: onReceive: ", state);
        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)
                || state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {

            Log.d("Ringing", "Phone is ringing");

            Intent i = new Intent(context, IncomingCallActivity.class);
            i.putExtras(intent);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
            Wait.oneSec();
            context.startActivity(i);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在打电话的活动:

import android.app.Activity; …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-widget android-layout android-broadcast

48
推荐指数
6
解决办法
7万
查看次数

如何将IntentService的结果返回到Activity中?

我正在使用IntentService通过JSON处理与服务器的网络通信.JSON /服务器部分工作正常,但我无法将结果返回到需要的地方.以下代码显示了我如何从onClick()内部启动intent服务,然后让服务更新一个全局变量以将结果传递回主活动.

public class GXActivity extends Activity {

    private static final String TAG = "GXActivity";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // === called when the activity is first created

        Log.i(TAG, "GXActivity Created");

        super.onCreate(savedInstanceState);
        setContentView(R.layout.start);

        View.OnClickListener handler = new View.OnClickListener() {
            public void onClick(View v) {

                // === set up an application context to hold a global variable
                // === called user, to contain results from the intent service
                GXApp appState = ((GXApp) getApplicationContext());
                User user = new User(-1); // …
Run Code Online (Sandbox Code Playgroud)

android android-intent

41
推荐指数
3
解决办法
3万
查看次数

如何设置ListView行高

我正在向您展示下面的图像,其中行的高度不同我希望行应该具有相同的高度.

在此输入图像描述

在我的程序中,我从XML服务获取数据,我解析并在列表视图上显示结果,但ListView行的高度不同.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:background="@drawable/list_selector"
  android:padding="3dip"
  android:layout_width="match_parent"
  android:gravity="center"
  android:layout_height="10dp">

    <TextView android:layout_height="wrap_content" android:text="ITEM"
        android:layout_width="wrap_content" android:id="@+id/txtItem"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="15dip"
        android:textStyle="bold"
        android:textColor="#040404"></TextView>

    <TextView android:layout_height="wrap_content" android:text="MANUFACTURER"
        android:layout_width="wrap_content" android:id="@+id/txtItemTwo"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="14dip"
        android:textColor="#FF7F50"

        ></TextView>


</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我已经设定了高度

机器人:layout_height = "10dp"

但是在listView上进行diplaying时仍然不一样.

这是我为getVieew定制的适配器: -

 public class MyEventAdapter extends BaseAdapter {

     ArrayList < String > listTitle;
     ArrayList < String > listFullText;

     Activity activity;

     public MyEventAdapter(Activity activity, ArrayList < String > listTitle, ArrayList < String > listFullText) {
         super();
         this.listTitle = listTitle;
         this.listFullText = listFullText;

         this.activity = …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-listview baseadapter

40
推荐指数
2
解决办法
5万
查看次数

保存整个系列的最佳做法?

假设我有一个集合,我已经对其许多模型进行了更改.使用单个HTTP请求保存所有更改的最佳方法是什么?

model-view-controller jquery backbone.js backbone.js-collections

33
推荐指数
3
解决办法
2万
查看次数

Android列表视图右/左滑动,如通话记录

我有一个Android应用程序,其中有List View就像这个

在此输入图像描述

现在,我想以相同的方式对列表项的右/左滑动执行两个不同的活动本机调用日志的工作原理

右键滑动清单

在此输入图像描述

我想要这种类型的滑动.任何人都可以知道如何实现它.基本上我想实施SimpleOnGestureListener.

我已经阅读了sir gav 回答的帖子在网格布局上回答了手势检测,之后我成功实现了左滑动和右滑动检测,但我唯一没有看到滑动发生在哪个List Item上.

2013年5月24日更新

现在我可以使用此代码检测滑动操作 -

SwipeDetector.java

/**
 * Class swipe detection to View
 */
public class SwipeDetector implements View.OnTouchListener {

    public static enum Action {
        LR, // Left to right
        RL, // Right to left
        TB, // Top to bottom
        BT, // Bottom to top
        None // Action not found
    }

    private static final int HORIZONTAL_MIN_DISTANCE = 30; // The minimum
    // distance for
    // …
Run Code Online (Sandbox Code Playgroud)

android listview swipe android-animation android-layout

30
推荐指数
2
解决办法
3万
查看次数

了解Android联系人的架构

我正在开发一个Android应用程序,需要知道何时添加/更新/删除联系人.

所以我读了几篇帖子.我知道,只要联系人发生变更,我们就可以通过内容观察员获得通知,但我们无法获得添加/更新/删除的联系人.所以我已阅读官方API并准备我的设计如何捕获该特定联系人.

所以我一开始就想到了什么

  1. 我们将存储所有联系人ID,已删除标志和版本
  2. 每当联系人发生变化时,我都会从Android的系统中获取我的表的行数和行数.
  3. 如果我的rowcount小于系统行计数,则删除联系人.
  4. 如果我的rowcount大于系统行计数,则添加了联系人.
  5. 如果不是这些情况,则其中一个联系人版本已更改.

我还了解到,如果用户删除了联系人,Android不会删除联系人,但是在删除的标志上设置为0.因此在这些情况下,行数将相同.

如官方文档中所述,Android还会多次更改联系人的行ID.那么我们如何能够像查询uri一样唯一地识别它们,如果没有,那么我们也必须为它设置观察者.

所以我想知道以上是否正确?并且在添加联系人的情况下,它将被添加到游标的最后一行或不意味着如果我检查系统数据库的最后一行是否接触,它将给我添加或不添加联系人.

java android android-contacts

18
推荐指数
2
解决办法
2567
查看次数