小编waz*_*123的帖子

从MainActivity类中的另一个函数访问WebView

如何正确访问onCreate函数中的"view"变量?我想要,loadUrl()但它会抛出一个错误,public Emitter.Listener onServerReceive = new Emitter.Listener() {view = loadUrl:

E/AndroidRuntime: FATAL EXCEPTION: main java.lang.NullPointerException
    at com.myapp.MainActivity$7$1.run(MainActivity.java:399)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:177)
    at android.app.ActivityThread.main(ActivityThread.java:4947)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
import com.github.nkzawa.emitter.Emitter;
....

public class MainActivity extends Activity {
    WebView view;
    Socket mSocket;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ...
        view = (WebView) findViewById(R.id.webView);
        view.getSettings().setJavaScriptEnabled(true);
        ...
        view.loadUrl("file:///android_asset/loading.html");

    }

    ...

    @JavascriptInterface
    public void websocket_start(){
        try …
Run Code Online (Sandbox Code Playgroud)

java sockets android listener android-webview

27
推荐指数
2
解决办法
1014
查看次数

Finally块中的语句是否仍然在这段代码中执行?

最后会阻止执行吗?如果我通过退出; ?

procedure someProc;
begin
    Try
      Exit;
    finally
     do_something;
    end;
end;
Run Code Online (Sandbox Code Playgroud)

delphi try-finally

22
推荐指数
4
解决办法
7980
查看次数

如何将varchar字段作为数字排序?

我有排序/订单的问题,而不是像我需要的那样工作.

SELECT `proc` FROM `table` ORDER BY `proc` DESC;
Run Code Online (Sandbox Code Playgroud)

结果:

80.0 proc
70.0 proc
60.0 proc
50.0 proc
40.0 proc
200.0 proc
20.0 proc
190.0 proc
180.0 proc
170.0 proc
160.0 proc
150.0 proc
140.0 proc
130.0 proc
120.0 proc
110.0 proc
100.0 proc
Run Code Online (Sandbox Code Playgroud)

我需要的是:

200.0 proc
190.0 proc
180.0 proc
170.0 proc
160.0 proc
150.0 proc
140.0 proc
130.0 proc
120.0 proc
110.0 proc
100.0 proc
90.0 proc
80.0 proc
70.0 proc
60.0 proc
50.0 proc
40.0 proc
20.0 …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

Delphi:如何创建Thread Safe全局TList?

如何创建Thread Safe全局TList?

unit Unit1;
interface
uses
    ...;
type
  TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;
  global_TList: TList; // Not thread safe?

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
// something
end;

end.
Run Code Online (Sandbox Code Playgroud)

我有两个线程,可以写入global_TList,但据我所知,它不是线程安全的.

那么如何让它安全?

Delphi 2010,Indy 10,Win7

delphi multithreading thread-safety

8
推荐指数
1
解决办法
3588
查看次数

如何获得当前带宽(下载)速度?

如何使用IdTCPServer或IdTCPClient获得当前带宽速度?

我想知道,客户端从服务器下载数据的速度有多快?

例如:下载速度:450 kbps

delphi indy

7
推荐指数
1
解决办法
1559
查看次数

Delphi:Socket.ReadBytes(); vs IOHandler.ReadBytes()

是什么区别:

AContext.Socket.ReadBytes(...);

 vs

AContext.IOHandler.ReadBytes(...);
Run Code Online (Sandbox Code Playgroud)

他们的工作方式相同吗?或者也许是IOHandler中的一些缓存或什么?

sockets delphi indy

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

Delphi:通过一个套接字多线程发送数据

有人可以告诉我如何通过多线程中的一个连接发送和接收数据.

模型看起来像这样:

模型

我所知道的是,如果所有三个客户端同时发送数据,"客户端X"将接收所有接收数据的合并,并且"客户端X"不能分离该数据以识别哪个部分来自哪个客户端.

Delphi 2010,Indy,Win7.

对不起,如果我的英语不好,我希望你理解这个想法.

delphi multithreading

4
推荐指数
1
解决办法
696
查看次数

Delphi:如何将TIdBytes编码为Base64字符串?

如何将TIdBytes编码为Base64字符串(不是AnsiString)?

  ASocket.IOHandler.CheckForDataOnSource(5);

  if not ASocket.Socket.InputBufferIsEmpty then
  begin
    ASocket.Socket.InputBuffer.ExtractToBytes(data);
    // here I need to encode data to base64 string, how ? I don't need AnsiString!!
    // var s:string;
    s := EncodeBase64(data, Length(data)); // but it will be AnsiString :(
Run Code Online (Sandbox Code Playgroud)

或者如何通过AContext.Connection.Socket.Write()发送AnsiString?

编译器说从'AnsiString'到'string'的隐式字符串转换

"data"变量包含来自网站的UTF-8数据.

delphi string base64 ansistring

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

如何解码gzip编码的html?

我从网络服务器获取数据:

data := '
HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Content-type: text/html
Transfer-Encoding: chunked
Server: Apache

3d5
????????????????????????????????????
????????????????????????????????????
????????????????????????????????????
';
Run Code Online (Sandbox Code Playgroud)

数据大小为:3d5(十六进制)全部存储到TIdBytes变量"data".

如何解码gziped数据,更改其中的内容,然后编码并将长度3d5编辑为新的.

delphi gzip http indy

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

如何获取定时器中的剩余时间?

可能的重复:
Delphi 计时器:下一个事件之前的时间

如何获取计时器执行时的当前剩余时间?

例如:

我创建了一个间隔为 60 000 的计时器

procedure TForm1.my_Timer(Sender: TObject);
begin
  // do something
end;
Run Code Online (Sandbox Code Playgroud)

然后我创建另一个计时器(间隔1000),其原因是获取第一个计时器的剩余时间

procedure TForm1.second_Timer(Sender: TObject);
begin
  second_Timer.Interval := 1000;
  Label1.Caption := IntToStr(my_Timer.timeleft); // How ???
end;
Run Code Online (Sandbox Code Playgroud)

谢谢。

delphi timer

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