当我写信时:
package com.example.ft.aidt;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.nfc.Tag;
import android.speech.tts.TextToSpeech;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.JsonElement;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Map;
import ai.api.AIListener;
import ai.api.android.AIConfiguration;
import ai.api.android.AIService;
import ai.api.model.AIError;
import ai.api.model.AIResponse;
import ai.api.model.Result;
import ai.api.ui.AIDialog;
public class ai extends AppCompatActivity implements AIListener {
public static final String TAG = ai.class.getName();
private Button bu,nu;
private TextView resp;
private AIService aiService;
private TextView a;
private ImageView yu;
private TextToSpeech joi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ai);
yu = (ImageView) findViewById(R.id.imageView20);
int permi =
ContextCompat.checkSelfPermission(this,Manifest.permission.RECORD_AUDIO);
if(permi != PackageManager.PERMISSION_GRANTED)
{
Toast.makeText(this, "Permission Denied",
Toast.LENGTH_SHORT).show();
MakeRequest();
}
final AIConfiguration config = new
AIConfiguration("b0369e8530c14cc0990cccab8b9f0289",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiService = AIService.getService(this, config);
aiService.setListener(this);
bu =(Button) findViewById(R.id.button12);
resp=(TextView) findViewById(R.id.textView10);
a = (TextView) findViewById(R.id.textView12);
joi = new TextToSpeech(ai.this, new TextToSpeech.OnInitListener()
{
@Override
public void onInit(int status) {
}
});
yu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ai.this,"Here you can talk to AIDT and converse
with it. If you fail to get a reply, please check your internet
connection.",Toast.LENGTH_LONG).show();
}
});
bu.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
resp.setText("ERROR");
return false;
}
});
bu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aiService.startListening();
}
});
}
protected void MakeRequest() {
ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.RECORD_AUDIO},007);
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[]
grantResults) {
switch (requestCode) {
case 007: {
if (grantResults.length == 0
|| grantResults[0] !=
PackageManager.PERMISSION_GRANTED) {
} else {
}
return;
}}}
@Override
public void onResult( final AIResponse response) {
Log.i("", response.toString());
ArrayList<String> ap = new ArrayList<>();
ArrayList<String> apk = new ArrayList<>();
final Result result1 = response.getResult();
String parameterString = "";
if (result1.getParameters() != null &&
!result1.getParameters().isEmpty()) {
for (final Map.Entry<String, JsonElement> entry :
result1.getParameters().entrySet()) {
parameterString += "(" + entry.getKey() + ", " +
entry.getValue() + ") ";
}
}
final String sppech = result1.getFulfillment().getSpeech();
String ae = result1.getResolvedQuery().toString();
a.setText("\n Baymax: " + result1.getFulfillment().getSpeech());
resp.setText("\n You: " + result1.getResolvedQuery());
// Show results in TextView.
joi.speak(result1.getFulfillment().getSpeech(),
TextToSpeech.QUEUE_FLUSH, null, null);
}
@Override
public void onError(AIError error)
{
resp.setText(error.toString());
}
@Override
public void onAudioLevel(float level) {
}
@Override
public void onListeningStarted() {
}
@Override
public void onListeningCanceled() {
}
@Override
public void onListeningFinished() {
}
}
上面的函数未返回属性名称“ request”
但在导入所需的所有功能时有效:
package com.example.ft.aidt;
import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.nfc.Tag;
import android.speech.tts.TextToSpeech;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.google.gson.JsonElement;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Map;
import ai.api.AIListener;
import ai.api.android.AIConfiguration;
import ai.api.android.AIService;
import ai.api.model.AIError;
import ai.api.model.AIResponse;
import ai.api.model.Result;
import ai.api.ui.AIDialog;
public class ai extends AppCompatActivity implements AIListener {
public static final String TAG = ai.class.getName();
private Button bu,nu;
private TextView resp;
private AIService aiService;
private TextView a;
private ImageView yu;
private TextToSpeech joi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ai);
yu = (ImageView) findViewById(R.id.imageView20);
int permi =
ContextCompat.checkSelfPermission(this,Manifest.permission.RECORD_AUDIO);
if(permi != PackageManager.PERMISSION_GRANTED)
{
Toast.makeText(this, "Permission Denied",
Toast.LENGTH_SHORT).show();
MakeRequest();
}
final AIConfiguration config = new
AIConfiguration("b0369e8530c14cc0990cccab8b9f0289",
AIConfiguration.SupportedLanguages.English,
AIConfiguration.RecognitionEngine.System);
aiService = AIService.getService(this, config);
aiService.setListener(this);
bu =(Button) findViewById(R.id.button12);
resp=(TextView) findViewById(R.id.textView10);
a = (TextView) findViewById(R.id.textView12);
joi = new TextToSpeech(ai.this, new TextToSpeech.OnInitListener()
{
@Override
public void onInit(int status) {
}
});
yu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ai.this,"Here you can talk to AIDT and converse
with it. If you fail to get a reply, please check your internet
connection.",Toast.LENGTH_LONG).show();
}
});
bu.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
resp.setText("ERROR");
return false;
}
});
bu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
aiService.startListening();
}
});
}
protected void MakeRequest() {
ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.RECORD_AUDIO},007);
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[]
grantResults) {
switch (requestCode) {
case 007: {
if (grantResults.length == 0
|| grantResults[0] !=
PackageManager.PERMISSION_GRANTED) {
} else {
}
return;
}}}
@Override
public void onResult( final AIResponse response) {
Log.i("", response.toString());
ArrayList<String> ap = new ArrayList<>();
ArrayList<String> apk = new ArrayList<>();
final Result result1 = response.getResult();
String parameterString = "";
if (result1.getParameters() != null &&
!result1.getParameters().isEmpty()) {
for (final Map.Entry<String, JsonElement> entry :
result1.getParameters().entrySet()) {
parameterString += "(" + entry.getKey() + ", " +
entry.getValue() + ") ";
}
}
final String sppech = result1.getFulfillment().getSpeech();
String ae = result1.getResolvedQuery().toString();
a.setText("\n Baymax: " + result1.getFulfillment().getSpeech());
resp.setText("\n You: " + result1.getResolvedQuery());
// Show results in TextView.
joi.speak(result1.getFulfillment().getSpeech(),
TextToSpeech.QUEUE_FLUSH, null, null);
}
@Override
public void onError(AIError error)
{
resp.setText(error.toString());
}
@Override
public void onAudioLevel(float level) {
}
@Override
public void onListeningStarted() {
}
@Override
public void onListeningCanceled() {
}
@Override
public void onListeningFinished() {
}
}
有什么建议吗?
答案 0 :(得分:0)
这似乎可行:
>> print(oStructuredBOMView.BOMRows.Item(1))
<win32com.gen_py.Autodesk Inventor Object Library.BOMRow instance at 0x88831536>
是否需要使用其他模块:urllib.parse和urllib.error? 否则,这似乎还可以。
答案 1 :(得分:0)
来自this answer:使用import语句时,它总是搜索实际的模块路径(和/或sys.modules);它不使用由于先前的导入而存在的本地名称空间中的模块对象。
因此,如果要使用urllib的任何对象,则需要输入要使用的实际对象:
import urllib.request
您也可以这样做:
from urllib import request
fhand = request.urlopen('http://data.pr4e.org/romeo.txt')