我注意到在我的类中扩展View
,为了获得屏幕大小,我必须使用 getContext
DisplayMetrics dispM = getContext.getResources().getDisplayMetrics();
int width = dispM.WidthPixels;
int height = dispM.HeightPixels;
Run Code Online (Sandbox Code Playgroud)
如果我想在我的活动中做同样的事情,我必须getContext
用getBaseContext
. 为什么会这样?
在文档中,在讨论时addProximityAlert
,关于Intent的描述让我感到困惑.具体这部分..
触发的Intent将使用键KEY_PROXIMITY_ENTERING添加一个布尔额外的.如果值为true,则设备进入邻近区域; 如果错误,它就会退出.
这可能听起来像一个愚蠢的问题但是......当我进入/或在某个位置的某个半径时,我如何得到真或假.
我不确定这是如何工作的.
我是否必须编写自己的代码并检查我何时在我的位置附近,然后在我退出时让它返回true和false?
我无法弄清楚.
我正在阅读的这本书让我写下面的代码:
-(IBAction)displaySomeText:(id)sender {
NSString *cow = @"Milk";
NSString *chicken = @"Egg";
NSString *goat = @"Butter";
NSArray *food = [NSArray arrayWithObjects:cow, chicken, goat, nil];
NSString *string = @"The shopping list is: ";
string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];
[textView insertText:string];
Run Code Online (Sandbox Code Playgroud)
}
我理解数组如何工作,但我需要帮助理解以下代码
string = [string stringByAppendingString:[food componentsJoinedByString:@", "]];
Run Code Online (Sandbox Code Playgroud)
我从来没有见过这样可能的实例.
他让我从NSString
课堂上创建一个'字符串'对象,然后我就这样做了
string = [string stringByAppendingString:];
Run Code Online (Sandbox Code Playgroud)
我糊涂了.我从未见过一个示例,我在其中创建一个对象,然后对同一个对象执行一个方法并将其存储在完全相同的对象中.
例如,我知道我可以做到这一点
NSSound *chirp;
chirp = [NSSound soundNamed:@"birdChirp.mp3"];
Run Code Online (Sandbox Code Playgroud)
以上是有道理的,因为我使用了创建的对象并对其执行了类方法.
但我总是认为以下代码的等价物是不可能的
chirp = [chirp methodNameEtc..];
Run Code Online (Sandbox Code Playgroud)
我希望我能很好地解释我的问题.如果不是,我总是可以进一步阐述.
我试图找到一个非专业人士的定义,addNotify()
但我无法使用谷歌得到任何答案.
据我所知,当addNotify()
我的班级压倒一切时,我应该打电话super.addNotify();
然后再做其他事情.
我的问题是,addNotify()
自动运行吗?它是什么目的以及当我覆盖它时会发生什么,而且,为什么我要覆盖这个方法呢?
谢谢.
我以为我很清楚自己在做什么,但每当我觉得自己能够很好地掌握某些东西时,我就证明错了:)
有问题的代码就是这个
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mButton = (Button)findViewById(R.id.m_button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的困惑在于new Intent()
和startActivity
方法.
我假设只要我们在匿名课程View.OnClickListener
中工作,我就必须做类似的事情
MainActivity.this.startActivity(intent);
当我不在匿名课堂内时,我可以做到
new Intent(this,SecondActivity.class);
有人可以解释为什么我能够调用该startActivity();
方法,但不能只this
在intent参数中使用?
Intent(String action, Uri uri)
Create an intent with a given action and for a given data url.
Intent(Context packageContext, Class<?> cls)
Create an intent for a specific component.
Intent(String action, Uri uri, Context packageContext, Class<?> cls)
Create an intent for a specific component with a specified action and data.
Run Code Online (Sandbox Code Playgroud)
虽然对某些人来说可能是显而易见的,但是你们能帮助我们这些很难"得到它"的人吗?
例如,在什么情况下我想要1而不是另一个?
我知道如何处理物体..但有一件事让我摸不着头脑.
静态方法.
我举个例子.
Toolkit theKit = Toolkit.getDefaultToolkit();
Run Code Online (Sandbox Code Playgroud)
我认为theKit
对象现在持有new Toolkit();
类..但我不确定.
此外,我theKit.getScreenResolution();
现在可以使用theKit
参考变量.
是因为Thetoolkit
它自己的类包含那个方法吗?
请原谅我,既然我把它全部写出来似乎显而易见但无论如何都要生病了.谢谢.
我只是想向自己发送一个简单的文本...当然例外是 java.lang.SecurityException: Sending SMS message: uid 10263 does not have android.permission.SEND_SMS
这就是我的Manifest文件的样子
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.homesafe"
android:versionCode="1"
android:versionName="1.0"
android:permission="android.permission.SEND_SMS">
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19"
/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
>
<activity
android:name="com.example.homesafe.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>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
现在它在Manifest
标签下..但即使我移动application
标签下的权限,我仍然得到相同的错误.我糊涂了..
老实说,我很遗憾PCIe设备的速度计算.我能理解PCI和PCI-X设备的33MHz - 66MHz时钟,但PCIe让我很困惑.
谁能解释如何计算PCIe的传输速度?
我需要一些帮助来理解为什么绘图在JComponent和JPanel中的工作方式不同.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Particle extends JComponent implements Runnable{
private int x = 45;
private int y = 45;
private int cx;
private int cy;
private int size;
private Color color;
private JFrame frame;
public Color getColor(){
return color = new Color(100,0,190);
}
public Particle(){
frame = new JFrame();
frame.setSize(400, 400);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(this);
frame.setVisible(true);
}
public void update(){
x+=1;
y+=1;
}
public void paintComponent(Graphics g){
Graphics2D g2d = …
Run Code Online (Sandbox Code Playgroud) 我很难在我的程序中完全可视化'Cursor'功能.我有点得到它的主旨,但任何人都可以详细解释它的功能吗?
通过Cursor,我的意思是Cursor
界面.我不能简单地理解它与任何事物所扮演的角色.
http://developer.android.com/reference/android/database/Cursor.html
我想知道在两种情况下是否都创建了MyObject对象.如果没有,为什么两种情况都能正常工作?
MyObject[] abcd = new MyObject[8];
abcd[0] = MyObject();
String str = abcd[0].someMethod();
Run Code Online (Sandbox Code Playgroud)
和
MyObject[] abcd = new MyObject[8];
String str = abcd[0].someMethod();
Run Code Online (Sandbox Code Playgroud)
我知道在第一个例子中,MyObject数组是用8个元素创建的,并存储在该数组的引用变量abcd中.我有一个MyObject引用数组,但没有实际的MyObject对象.所以我创建了这些对象,第一个对象存储在数组0中.
在第二个例子..是同样的事情,只是更短的代码?
*已编辑:忘记添加[]我道歉.*
它总是必须延长View
吗?
public class MyNewView extends View{
public MyNewView(Context context) {
super(context);
}
}
Run Code Online (Sandbox Code Playgroud) java ×11
android ×7
object ×2
arrays ×1
cursor ×1
graphics ×1
hardware ×1
instance ×1
interface ×1
jcomponent ×1
jpanel ×1
methods ×1
nsarray ×1
nsstring ×1
objective-c ×1
overriding ×1
pci-e ×1
performance ×1
permissions ×1
sms ×1
static ×1
swing ×1