小编Roo*_*242的帖子

Android GCM基本实现

更新:我修复了下面代码中的问题,所以这是一个很好的基本工作示例,说明如何使用GCM


所以,我正在尝试将Android GCM应用到我的应用中.以下是我添加到清单中的相关部分:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="20" />

<permission
    android:name=".permission.C2D_MESSAGE"
    android:protectionLevel="signature" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name=".permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
Run Code Online (Sandbox Code Playgroud)

...

<receiver
    android:name="com.google.android.gcm.GCMBroadcastReceiver"
    android:permission="com.google.android.c2dm.permission.SEND" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
        <category android:name="com.badbob.app.gmctestapp" />
    </intent-filter>
</receiver>

<service android:name=".GCMIntentService" />
Run Code Online (Sandbox Code Playgroud)

我已将以下代码添加到我的主要活动的onCreate中:

    GCMRegistrar.checkDevice( this );
    GCMRegistrar.checkManifest( this );
    final String regId = GCMRegistrar.getRegistrationId( this );
    if( regId.equals( "" ) ) {
        GCMRegistrar.register( this, GCM_SENDER_ID );
    }
    else {
        Log.v( LOG_TAG, "Already registered" );
    }
Run Code Online (Sandbox Code Playgroud)

我也GCMIntenetService像这样创建了这个类: …

android google-cloud-messaging

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

EditText和InputFilter导致重复文本

我正在尝试实现一个EditText,它只将输入限制为alpha字符[A-Za-z].

我从这篇文章开始使用InputFilter方法.当我输入"a%"时,文本消失,如果我按退格键,则文本为"a".我已经尝试了过滤器功能的其他变体,比如使用正则表达式只匹配[A-Za-z],有时会看到像重复字符这样的疯狂行为,我会输入"a"然后"b"并获得"aab"然后键入"c"并获取"aabaabc"然后点击退格并获得"aabaabcaabaabc"!

这是我到目前为止使用的代码,我尝试过不同的方法.

    EditText input = (EditText)findViewById( R.id.inputText );
    InputFilter filter = new InputFilter() {
        @Override
        public CharSequence filter( CharSequence source, int start, int end, Spanned dest, int dstart, int dend ) {
            //String data = source.toString();
            //String ret = null;
            /*
            boolean isValid = data.matches( "[A-Za-z]" );
            if( isValid ) {
                ret = null;
            }
            else {
                ret = data.replaceAll( "[@#$%^&*]", "" );
            }
            */
            /*
            dest = new SpannableStringBuilder();
            ret = data.replaceAll( "[@#$%^&*]", "" );
            return …
Run Code Online (Sandbox Code Playgroud)

android android-edittext

13
推荐指数
2
解决办法
8984
查看次数

使用webmin创建虚拟主机会加载默认站点

所以我正在尝试建立一个机架式云服务器来托管具有单个IP的多个站点(而不是服务器).我在Ubuntu 12.04 LTS服务器上安装了Virtualmin/Webmin.我创建了目录/ var/www/sites/testsite.然后我使用以下设置在Webmin-> Servers-> Apache Webserver下创建了一个虚拟主机:

Address: Any
Port: 80
Document Root: /var/www/sites/testsite
Server Name: testsite.com
Run Code Online (Sandbox Code Playgroud)

然后,为了测试它,我在本地机器上编辑了hosts文件并添加了

[my.server.ip.address] testsite.com
Run Code Online (Sandbox Code Playgroud)

然后在我的浏览器中访问testsite.com并且问题是它正在加载默认站点(在/ var/www)而不是我刚刚创建的虚拟站点(我通过在/ var/www和/中添加不同的index.html文件来验证这一点无功/网络/网站/测试网站).

以下是在/etc/apache2/sites-available/webmin.1372454178.conf中创建的webmin指令

DocumentRoot /var/www/sites/testsite
<Directory "/var/www/sites/testsite">
allow from all
Options +Indexes
</Directory>
ServerName testsite.com
ServerAlias www.testsite.com
Run Code Online (Sandbox Code Playgroud)

apache virtualhost webmin

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