我一直在寻找的在文档的JSONObject时候,我注意到了两种方法:getJSONObject(String key)和optJSONObject(String key).从文档中,我认为他们做了几乎相同的事情有一个区别:如果找不到键或值,则getJSONObject()抛出一个JSONException而optJSONObject()只是返回null.
getJSONObject()和之间还有其他差异optJSONObject()吗?get了opt,反之亦然?虽然我目前正在使用C#,但这个问题可能适用于其他语言.
调用Object与object?之间有什么区别吗?具体来说,我正在Dictionary使用构造函数创建一个实例:
Dictionary<String, Object> foo = new Dictionary...
Run Code Online (Sandbox Code Playgroud)
IDE自动填写new Dictionary<string, object>.我回去改变了我的初步声明,但它让我感到疑惑.
String或Object小写string或object?时,是否有任何不良反应?我EntityClickedListener在Bing地图中遇到问题.我按照给出的例子编写了它:
map.setEntityClickedListener(new EntityClickedListener()
{
@Override
public void onAvailableChecked(String layerName, int entityId)
{
HashMap<String, Object> metadata = map.getLayerManager.GetMetadataByID(layerName, entityId);
Toast.makeText(Activity.this, metadata.toString(), Toast.LENGTH_LONG)
.show();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,点击Pushpin它什么都不做.我创建了一个Toast消息,以确切了解元数据中的内容但没有任何反应.通过应用程序的路径,我可以看出Bing使用数据服务来检索其信息:
bsds.FindByAreaCompleted = new Handler(){
public void handleMessage(Message msg) {
if(msg.obj != null){
Record[] records = (Record[])msg.obj;
EntityLayer el = (EntityLayer)bingMapsView.getLayerManager().getLayerByName(Constants.DataLayers.Search);
double maxLat = -90, minLat = 90, maxLon = -180, minLon = 180;
for(Record r : records){
Pushpin p = new Pushpin(r.Location);
p.Title = r.DisplayName;
HashMap<String, Object> metadata = new HashMap<String, …Run Code Online (Sandbox Code Playgroud) 我正在尝试在单击某个EditText时引发DatePickerDialog.但是,每次单击EditText时,应用程序都会崩溃.这是相关代码和LogCat.
EditText及其OnClickListener:
addBirth.setClickable(true);
addBirth.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DATE_DIALOG_ID);
}
});
Run Code Online (Sandbox Code Playgroud)
onCreateDialog方法和DateSetListener:
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
switch (id) {
case DATE_DIALOG_ID:
DatePickerDialog dialog = new DatePickerDialog(getApplicationContext(), mDateSetListener, mYear, mMonth, mDay);
return dialog;
}
return null;
}
protected DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth; …Run Code Online (Sandbox Code Playgroud) 我创建了一个Bing Maps WPF对话框,并希望以编程方式设置中心和缩放级别.我尝试过使用SetValue(),但我没有找到合适的属性传递给它.
这是我的Bing Maps对话框的XAML:
<Window
x:Class="RAPMkI.BingMapsDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"
Title="BingMapsDialog" Height="378" Width="467">
<Grid>
<m:Map CredentialsProvider="Haha, nice try."/>
<Button Content="Locate" Margin="0,0,0,0" Name="button1" HorizontalAlignment="Right" Width="Auto" Height="Auto" VerticalAlignment="Top" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
代码隐藏看起来像这样:
namespace RAPMkI
{
/// <summary>
/// Interaction logic for BingMapsDialog.xaml
/// </summary>
public partial class BingMapsDialog : Window
{
public BingMapsDialog(Location center, int zoom)
{
InitializeComponent();
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法在初始化时使用Location我传递的和缩放设置对话框的中心和缩放级别?
注意:我意识到这可能是一个开放式的问题,所以如果您觉得这不属于或没有任何优点,请继续标记删除.
我已经很长时间没有使用Java(或者一般的编程),而且我的大部分时间花在学习实际应用程序(特别是Android)上.因此,我意识到在概念问题上我非常落后.
我的问题是:什么时候使用import 'package name';语句而不是简单地使用完全限定的类名?
我已经看到了编码器决定使用的示例代码android.widget.Button与之后的每个实例的调用import android.widget.Button和使用Button.我正在编写代码,我知道我将只使用某个类,我觉得使用import语句是浪费.
关于何时使用import声明与使用完全限定名称的任何指导都将非常感激.我不是在寻找明确的答案,只是一些有用的提示.