我想markers在地图中刷新,我的地图包含当前位置的不同位置.如果服务器端添加任何位置,则在我的地图中添加该标记.
如何在没有加载图的情况下刷新标记?
我的代码
if(arl.size()!=0){
for(int j = 0;j<arl.size();j++){
String lat =arl.get(j).get("lat").toString();
String lng =arl.get(j).get("lng").toString();
if ( !lat.trim().equals("") && !lng.trim().equals("") ) {
double Hlat = Double.parseDouble(lat.trim());
double Hlong= Double.parseDouble(lng.trim());
LatLng dabaseLocations =new LatLng(Hlat, Hlong);
Marker HYD = _googleMap.addMarker(new MarkerOptions()
.position(dabaseLocations)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
.flat(true));
// Show current location with database locations
_googleMap.clear();
_googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
Marker m=_googleMap.addMarker(new
MarkerOptions().position(myPosition).title("start"));
// m.setPosition(new LatLng(5,5));
}
}
}
else{
// Show only Current Location
_googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition));
_googleMap.addMarker(new
MarkerOptions().position(myPosition).title("start"));
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我想从后台服务器获取数据.我在后台使用service获取数据.现在我想处理网络异常,如果没有网络我想显示一个警告对话框并完成应用程序.这里我有问题,即服务类中的整理活动显示异常ClassCastExcetption..Exception在这里提出(((Activity)mContext).finish())我尝试了这么多,但我无法得到这个请任何人解决我的问题
public class InitialRequestService extends Service{
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
new InitialRequestData(InitialRequestService.this).execute();
}
public class InitialRequestData extends AsyncTask<String, Void, Void> {
public InitialRequestData(Context context) {
this.mContext = context;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
isNetworkAvailable = CheckNetWork.isConnectedToInternet(mContext);
}
@Override
protected Void doInBackground(String... params) {
//
}
@Override
protected void onPostExecute(FeatureResult result) {
// …Run Code Online (Sandbox Code Playgroud) 我正在使用切换按钮开发应用程序,我输入了1或0 EditText.单击按钮时,如果我输入1切换按钮显示TOGGLE ON,则切换按钮必须更改,如果我输入0则切换按钮必须显示TOGGLE OFF.单击按钮时,我无法获得切换值.
我的代码是:
public class MainActivity extends Activity {
String editString="";
Button btn;
EditText ed;
ToggleButton toggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button)findViewById(R.id.btn);
ed = (EditText)findViewById(R.id.ed);
toggle = (ToggleButton)findViewById(R.id.toggBtn);
editString = ed.getText().toString();
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
toggle.toggle();
if(editString.equals("1")){
toggle.setTextOff("TOGGLE ON");
}
else if(editString.equals("0")){
toggle.setTextOn("TOGGLE OFF");
}
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
xml文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Android应用程序,我需要在其中接收多个通知,每个通知都包含唯一数据.
我已经完成的事情1.使用gcm服务接收多个通知2.显示服务器在单击新活动中的通知时发送的数据
问题:假设我收到了三个通知,每个通知都有唯一的数据.当我单击一个通知时,新活动将以该通知中的数据开始.所以现在接收通知活动正在运行.现在,如果我点击第二个通知接收通知活动加载旧数据(来自第一个通知的那个).如果我关闭应用程序并单击第三个通知,则接收通知活动将加载来自第三个通知的数据.
我试过了:
我在用
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Run Code Online (Sandbox Code Playgroud)
在intentservice和添加 android:launchMode="singleInstance"清单文件中都不起作用.
intentservice类
public class GcmIntentService extends IntentService{
Context context;
public static int notify_no=0;
//System.currentTimeMillis();
private NotificationManager mNotificationManager;
NotificationCompat.Builder builder;
public static final String TAG = "GCM NOTIFICATION";
public GcmIntentService() {
super("GcmIntentService");
// TODO Auto-generated constructor stub
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
Bundle extras = intent.getExtras();
String msg = intent.getStringExtra("message");
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
if (!extras.isEmpty()) { …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我想在我的地图中使用标记显示当前位置.我正在使用Google Map v2.在这里我可以在GPS关闭时显示地图和标记,但在GPS打开时在地图上看不到任何标记.我的要求是在地图上显示当前位置的标记
我试过这样的,
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
//locationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
this);
ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>)
getIntent().getSerializableExtra("arrayList");
if(location!=null){
double latitude = location.getLatitude();
double langitude = location.getLongitude();
myPosition = new LatLng(latitude, langitude);
CameraPosition position= new CameraPosition.Builder().
target(myPosition).zoom(17).bearing(19).tilt(30).build();
//_googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));
_googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));
_googleMap.addMarker(new
MarkerOptions().position(myPosition).title("start"));
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,因为我用红色显示当前位置,用 HUE_AZURE 颜色显示周围位置,现在我试图HUE_GREEN在单击标记时用(绿色)更改两种颜色,我写了一些代码,但它不能正常工作。当我单击标记时,地图会转到起始位置并仅更改一次颜色,这是我的问题。
我的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_map_when_login);
_googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
R.id.mapId)).getMap();
LocationManager service = (LocationManager)getSystemService(LOCATION_SERVICE);
boolean enableGPS = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean enableWiFi= service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
Log.e("GPS",""+enableGPS);
service = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = service.getBestProvider(criteria, true);
service.requestLocationUpdates(provider, 0, 0, this);
if(_googleMap==null){
Toast.makeText(getApplicationContext(), "Google Map Not Available",
Toast.LENGTH_LONG).show();
}
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
//locationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,
this);
//_googleMap.clear();
ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个应用程序,我必须将数据发送到服务器.我得到异常,同时获取用户详细信息nullpointer异常请告诉我我在哪里犯了错误
myActivity代码
userDetails = new DetailsDTO();
userName = userNameEdit.getText().toString().trim();
password = passwordEdit.getText().toString().trim();
confirmPwd = confirmPasswordEdit.getText().toString();
mobileNo = mobileNoEdit.getText().toString();
userDetails.setUserName(userName);
userDetails.setPassword(password);
userDetails.setConfirmPwd(confirmPwd);
userDetails.setMobileNumber(mobileNo);
(new UserDetailsAsync(mContext)).execute();
Run Code Online (Sandbox Code Playgroud)
我的AsyncTask代码:
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
httpClient = new DefaultHttpClient();
httpPost = new HttpPost(TrafficConstants.USER_REG_URL);
Log.e("userName", details.getUserName());
Log.e("pass", details.getPassword());
Log.e("MOb",details.getMobileNumber());
try{
arrayList = new ArrayList<NameValuePair>(3);
arrayList.add(new
BasicNameValuePair("usr",details.getUserName()));
arrayList.add(new
BasicNameValuePair("pass",details.getPassword()));
arrayList.add(new
BasicNameValuePair("mob",details.getMobileNumber()));
httpPost.setEntity(new UrlEncodedFormEntity(arrayList));
HttpResponse response = httpClient.execute(httpPost);
}
catch(Exception e){
e.printStackTrace();
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
LogCat错误
02-20 12:16:37.535: E/AndroidRuntime(2605): java.lang.RuntimeException: An …Run Code Online (Sandbox Code Playgroud) 我正在使用SQLite开发一个应用程序.我的要求是我想更新表格中的密码.
我写了一个更新查询,但它无法正常工作.错误:
android.database.sqlite.SQLiteException: unrecognized token: "' WHERE username = ?": ,
while compiling: UPDATE TABLE_USER SET password = god' WHERE username = ?` condition.
Run Code Online (Sandbox Code Playgroud)
代码:
UserDaoImpl.java
public void updateEntry(String newPassword,String name)
{
Cursor cur= myDB.rawQuery("UPDATE "+UserDBHandler.USER_TABLE+" SET
"+UserDBHandler.PASSWORD+" = "+newPassword+"' WHERE "+
UserDBHandler.USER_NAME+" = ?",new String[]{name});
}
ChangePasswordActivity.java
public class ChngePasswordActivity extends Activity {
private EditText oldPwdEdit;
private EditText newPwdEdit;
private EditText cnfrmEdit;
private Button submitBtn;
private String oldPwd;
private String newPwd;
private String cnfrmPwd;
private UserDaoImpl userDetalsIml;
@Override
protected …Run Code Online (Sandbox Code Playgroud)