1-让我说我在Google Apis控制台中创建了一个GCM应用程序...
如何列出并查看所有设备在我的应用程序云中注册
执行一个随机动作,如发送推送通知给他们?
2-我应该创建一个数据库来存储已注册设备返回的注册ID如果我使用我自己的服务器(Asp.net)
我试图使用Parcelable将对象类从一个活动传递给另一个
我创建了一个班级,并将其命名为学生
package com.example.test08_passobjectoverintent;
import android.os.Parcel;
import android.os.Parcelable;
public class Student implements Parcelable
{
private String st_AcadimicNumber ;
private String st_Name ;
private String st_Class ;
public String getSt_AcadimicNumber() {
return st_AcadimicNumber;
}
public void setSt_AcadimicNumber(String st_AcadimicNumber) {
this.st_AcadimicNumber = st_AcadimicNumber;
}
public String getSt_Name() {
return st_Name;
}
public void setSt_Name(String st_Name) {
this.st_Name = st_Name;
}
public String getSt_Class() {
return st_Class;
}
public void setSt_Class(String st_Class) {
this.st_Class = st_Class;
}
public Student(String st_AcadimicNumber, String st_Name, String …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序服务多级权限和角色
我有这个HIERARCHY:
国家
....区域
........市
............协会
................中央
....................学校
........................类
这个HIERARCHY我把它命名为"EntityLevels"
| ID | Name | ParentID |
|----|-------------|----------|
| 1 | Country | Null |
| 2 | Region | 1 |
| 3 | City | 2 |
| 4 | Association | 3 |
| 5 | Center | 4 |
| 6 | School | 5 |
| 7 | Class | 6 |
Run Code Online (Sandbox Code Playgroud)
我还有一个群组表,这意味着乔布斯
| ID | Name | EntityLevels |
|----|--------------------|--------------|
| 1 | CountryAdmins …Run Code Online (Sandbox Code Playgroud) sql-server recursive-query common-table-expression hierarchical-data
我正在尝试通过推送通知通知设备
我收到了来自GCM服务器的回复
{"multicast_id":8594338261894783737,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1355822022916886%8ae6056ef9fd7ecd"}]}
但仍然没有收到通知
有了知识--> "success":1
但我认为这里有问题 --> "canonical_ids":0
这是我的代码...
private string SendGCMNotification(string apiKey, string postData, string postDataContentType = "application/json")
{
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateServerCertificate);
//
// MESSAGE CONTENT
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
//
// CREATE REQUEST
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send");
Request.Method = "POST";
Request.KeepAlive = false;
Request.ContentType = postDataContentType;
Request.Headers.Add(HttpRequestHeader.Authorization, string.Format("key={0}",apiKey));
Request.ContentLength = byteArray.Length;
Stream dataStream = Request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
try
{
WebResponse Response = Request.GetResponse();
HttpStatusCode ResponseCode = ((HttpWebResponse)Response).StatusCode;
if (ResponseCode.Equals(HttpStatusCode.Unauthorized) || ResponseCode.Equals(HttpStatusCode.Forbidden))
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试在云中注册设备(Google Cloud Messaging GCM)
但是应用程序面临一些错误
你能帮我这个吗?
这是我的清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test09_gsm"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
<permission android:name="com.example.test09_gsm.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="com.example.test09_gsme.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test09_gsm.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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.example.test09_gsm" />
</intent-filter>
</receiver>
<service android:name=".GCMIntentService" />
</application>
</manifest> …Run Code Online (Sandbox Code Playgroud) 大家好我从Android使用GridView工具显示图像作为菜单
我在A类名称中使用此代码它ImageAdapter扩展了BaseAdapter

我使用此代码Bellow
package com.example.gridviewtest;
import com.example.gridviewtest.R;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.content.Context;
import android.widget.GridView;
import android.widget.ImageView;
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public Integer[] mThumbIds =
{
R.drawable.pic1, R.drawable.pic2, R.drawable.pic3,
R.drawable.pic4, R.drawable.pic5, R.drawable.pic6,
R.drawable.pic7, R.drawable.pic8, R.drawable.pic9
};
public ImageAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return mThumbIds[position];
}
@Override
public long getItemId(int position) {
return 0;
}
@Override …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 SQL Server 数据库中获取数据。
数据库有 3 个表,如下所示:
这些表使用主键和外键相互关联:
代码:
var result = (from m in db.HALAQATI_VIEW_GetAllMosques
join r in db.HALAQATI_VIEW_GetAllRings on m.MSQ_ID equals r.MSQ_ID
join s in db.HALAQATI_VIEW_GetAllStudents on r.Ring_ID equals s.Ring_ID
where m.Emp_ID == r.Emp_ID && m.Emp_ID == id
select new { MsqID = m.MSQ_ID, MsqName = m.MSQ_Name, Rings = r,Students = s}).Distinct();
return new { Mosques = result };
Run Code Online (Sandbox Code Playgroud)
输出显示如下
{
"Mosques": [
{
"MsqID": 186,
"MsqName": "UNIVERSITY 1",
"Rings": {
"Ring_ID": 3730,
"Ring_Name": "Class …Run Code Online (Sandbox Code Playgroud) 我尝试使用此代码通过gcm取消注册设备:
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
GCMRegistrar.unregister(MainActivity.this);
}
});
Run Code Online (Sandbox Code Playgroud)
知道我在onCreate()方法中使用了这个代码...但是当我尝试向通知发送通知时,DeviceIDArrives意味着取消注册过程没有成功
我的 onCreate()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GCMRegistrar.checkDevice(this);
GCMRegistrar.checkManifest(this);
txt = (TextView)findViewById(R.id.txt_nn);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals(""))
{
GCMRegistrar.register(this, "344XXXXXXX571");
}
else
{
Log.v("Info : ", "Already registered");
}
txt.setText(regId);
btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
GCMRegistrar.unregister(MainActivity.this);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的LogCat
12-25 17:16:31.290: E/Trace(18754): error opening trace file: …Run Code Online (Sandbox Code Playgroud) android ×6
c# ×2
gridview ×1
image ×1
java ×1
json ×1
nested ×1
parcelable ×1
sql-server ×1
text ×1