本文整理汇总了Java中com.google.bitcoin.uri.BitcoinURI类的典型用法代码示例。如果您正苦于以下问题:Java BitcoinURI类的具体用法?Java BitcoinURI怎么用?Java BitcoinURI使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BitcoinURI类属于com.google.bitcoin.uri包,在下文中一共展示了BitcoinURI类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: determineRequestStr
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
private String determineRequestStr(final boolean includeBluetoothMac)
{
final boolean includeLabel = includeLabelView.isChecked();
final ECKey key = (ECKey) addressView.getSelectedItem();
final Address address = key.toAddress(Constants.NETWORK_PARAMETERS);
final String label = includeLabel ? AddressBookProvider.resolveLabel(activity, address.toString()) : null;
final BigInteger amount = amountCalculatorLink.getAmount();
final StringBuilder uri = new StringBuilder(BitcoinURI.convertToBitcoinURI(address, amount, label, null));
if (includeBluetoothMac && bluetoothMac != null)
{
uri.append(amount == null && label == null ? '?' : '&');
uri.append(Bluetooth.MAC_URI_PARAM).append('=').append(bluetoothMac);
}
return uri.toString();
}
示例2: updateView
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
private void updateView() {
final Address selectedAddress = application.determineSelectedAddress();
if (!selectedAddress.equals(lastSelectedAddress)) {
lastSelectedAddress = selectedAddress;
Editable dispAddress = WalletUtils.formatAddress(selectedAddress,
Constants.ADDRESS_FORMAT_GROUP_SIZE,
Constants.ADDRESS_FORMAT_LINE_SIZE);
Log.d("disp address", dispAddress.toString());
bitcoinAddressLabel.setText(dispAddress);
final String addressStr = BitcoinURI.convertToBitcoinURI(
selectedAddress, null, null, null);
final int size = (int) (256 * getResources().getDisplayMetrics().density);
qrCodeBitmap = Qr.bitmap(addressStr, size);
bitcoinAddressQrView.setImageBitmap(qrCodeBitmap);
Nfc.publishUri(nfcManager, getActivity(), addressStr);
}
}
示例3: createFromBitcoinUri
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
/**
* Returns a future that will be notified with a PaymentSession object after it is fetched using the provided uri.
* uri is a BIP-72-style BitcoinURI object that specifies where the {@link Protos.PaymentRequest} object may
* be fetched in the r= parameter.
* If verifyPki is specified and the payment request object specifies a PKI method, then the system trust store will
* be used to verify the signature provided by the payment request. An exception is thrown by the future if the
* signature cannot be verified.
* If trustStorePath is not null, the trust store used for PKI verification will be loaded from the given location
* instead of using the system default trust store location.
*/
public static ListenableFuture<PaymentSession> createFromBitcoinUri(final BitcoinURI uri, final boolean verifyPki, @Nullable final String trustStorePath)
throws PaymentRequestException {
String url = uri.getPaymentRequestUrl();
if (url == null)
throw new PaymentRequestException.InvalidPaymentRequestURL("No payment request URL (r= parameter) in BitcoinURI " + uri);
try {
return fetchPaymentRequest(new URI(url), verifyPki, trustStorePath);
} catch (URISyntaxException e) {
throw new PaymentRequestException.InvalidPaymentRequestURL(e);
}
}
示例4: clearReceive
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
private void clearReceive() {
edAddress.setText("");
edAddress.setHint(R.string.request_payment_hint);
edAmount1.setText("");
if(isBTC) {
edAmount1.setHint("0.0000");
}
else {
edAmount1.setHint("0.00");
}
edAmount1.setText("0.0000");
if(isBTC) {
tvAmount2.setText("0.00" + " " + strCurrentFiatCode);
}
else {
tvAmount2.setText("0.0000" + " BTC");
}
tvAddress.setText("");
// tvAddress.setVisibility(View.INVISIBLE);
tvAddressBis.setText("");
// tvAddressBis.setVisibility(View.INVISIBLE);
// ivReceivingQR.setVisibility(View.INVISIBLE);
currentSelectedAddress = defaultAddress;
ivReceivingQR.setVisibility(View.VISIBLE);
ivReceivingQR.setImageBitmap(generateQRCode(BitcoinURI.convertToBitcoinURI(currentSelectedAddress, BigInteger.ZERO, "", "")));
String label = labels.get(currentSelectedAddress);
String defaultDest = currentSelectedAddress;
if(label != null) {
defaultDest = label;
}
tvAddress.setText(defaultDest);
ivClearInput.setVisibility(View.INVISIBLE);
icon_row.setVisibility(View.VISIBLE);
}
示例5: createFromBitcoinUri
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
/**
* Returns a future that will be notified with a PaymentSession object after it is fetched using the provided uri.
* uri is a BIP-72-style BitcoinURI object that specifies where the {@link Protos.PaymentRequest} object may
* be fetched in the r= parameter.
* If verifyPki is specified and the payment request object specifies a PKI method, then the system trust store will
* be used to verify the signature provided by the payment request. An exception is thrown by the future if the
* signature cannot be verified.
* If trustStoreLoader is null, the system default trust store is used.
*/
public static ListenableFuture<PaymentSession> createFromBitcoinUri(final BitcoinURI uri, final boolean verifyPki, @Nullable final TrustStoreLoader trustStoreLoader)
throws PaymentRequestException {
String url = uri.getPaymentRequestUrl();
if (url == null)
throw new PaymentRequestException.InvalidPaymentRequestURL("No payment request URL (r= parameter) in BitcoinURI " + uri);
try {
return fetchPaymentRequest(new URI(url), verifyPki, trustStoreLoader);
} catch (URISyntaxException e) {
throw new PaymentRequestException.InvalidPaymentRequestURL(e);
}
}
示例6: main
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
public static void main(String[] args) throws PaymentRequestException,
BitcoinURIParseException, InterruptedException, ExecutionException {
String url = "bitcoin:13dbaDHdYUwDHP24Qg3fEa3yqCBWE5hd9y?amount=0.01&r=https%3A%2F%2Fbitpay.com%2Fi%2FT5P3671YhMuYsqbCt5LsPY";
ListenableFuture<PaymentSession> future = null;
if (url.startsWith("http")) {
future = PaymentSession.createFromUrl(url);
} else if (url.startsWith("bitcoin:")) {
future = PaymentSession.createFromBitcoinUri(new BitcoinURI(url));
}
PaymentSession session = future.get(); // may throw
// PaymentRequestException.
System.out.println(session);
String memo = session.getMemo();
BigInteger amountWanted = session.getValue();
PaymentRequest pr = session.getPaymentRequest();
System.out.println(pr);
System.out.println(session.getPaymentDetails());
if (session.isExpired()) {
System.out.println("session expired.");
}
PaymentSession.PkiVerificationData identity = null;
try {
identity = session.verifyPki();
System.out.println(identity.name);
System.out.println(identity.orgName);
System.out.println(identity.rootAuthorityName);
} catch (Exception e) {
e.printStackTrace();
}
}
示例7: uri
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
public String uri() {
return BitcoinURI.convertToBitcoinURI(getAddress(), null, Main.APP_NAME, null);
}
示例8: showAddress
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
public void showAddress() {
BTCFmt btcfmt = mBase.getBTCFmt();
Address addr = mBase.getWalletService().nextReceiveAddress();
String addrstr = addr.toString();
TextView addrtv =
(TextView) getActivity().findViewById(R.id.receive_addr);
addrtv.setText(addrstr);
addrtv.setVisibility(View.VISIBLE);
String ss = mBTCAmountEditText.getText().toString();
long bb = btcfmt.parse(ss.toString());
BigInteger amt = bb == 0 ? null : BigInteger.valueOf(bb);
String uri = BitcoinURI.convertToBitcoinURI(addrstr, amt, null, null);
mLogger.info("view address uri=" + uri);
final int size =
(int) (240 * getResources().getDisplayMetrics().density);
// Load the QR bitmap.
Bitmap bm = createBitmap(uri, size);
if (bm != null) {
ImageView iv =
(ImageView) getActivity().findViewById(R.id.receive_qr_view);
iv.setImageBitmap(bm);
iv.setVisibility(View.VISIBLE);
}
// Find the HDAddress object associated with this address.
HDAddressDescription addrdesc =
mBase.getWalletService().findAddress(addr);
mHDAddress = addrdesc.hdAddress;
mTransitioned = false;
mFiatAmountEditText.setFocusable(false);
mFiatAmountEditText.setFocusableInTouchMode(false);
mBTCAmountEditText.setFocusable(false);
mBTCAmountEditText.setFocusableInTouchMode(false);
}
示例9: handleShowQr
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
private void handleShowQr(final String address)
{
final String uri = BitcoinURI.convertToBitcoinURI(address, null, null, null);
final int size = (int) (256 * getResources().getDisplayMetrics().density);
BitmapFragment.show(getFragmentManager(), Qr.bitmap(uri, size));
}
示例10: generateCoinSparkQRcode
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
/**
* generate a QR code for coinspark asset transfer
* @param address
* Coinspark address to show
* @aram assetRef
* Asset ref of asset, otherwise null for regular Bitcoin
* @param amount
* amount of asset (in display units)
* @param label
* label for swatch
* @return
*/
public BufferedImage generateCoinSparkQRcode(String address, String assetRef, String amount, String label, int scaleFactor) {
//System.out.println(String.format("generateCoinSparkQRcode() invoked: address=%s, assetRef=%s, amount=%s, label=%s", address, assetRef, amount, label));
String bitcoinURI = null;
String qrAddress = null;
CoinSparkAddress csa = CSMiscUtils.decodeCoinSparkAddress(address);
if (csa != null) {
String btcAddress = CSMiscUtils.getBitcoinAddressStringFromCoinSparkAddress(csa);
if (btcAddress != null) {
try {
if (btcAddress != null) {
new Address(this.bitcoinController.getModel().getNetworkParameters(), btcAddress);
qrAddress = address; // no exception, so valid coinspark (and btc) addrss
}
} catch (AddressFormatException afe) {
// Bad underlying Bitcoin address, so return null from outer try catch
return null;
} catch (java.lang.StringIndexOutOfBoundsException e) {
return null;
}
}
}
if (qrAddress != null && !"".equals(qrAddress)) {
// If coinspark address, and asset ref is defined, than this is not bitcoin but a coinspark asset
if (assetRef != null && !"".equals(assetRef)) {
label = "<CSAssetRef>" + assetRef + "</CSAssetRef>" + label;
// FIXME: For now, we use tags, unlikely to be also used by human in label
// and because we want to re-use BitcoinURI.java (for now)
}
if (amount != null && !"".equals(amount)) {
// FIXME: For now just use this code, in future we just want to keep display units as is.
// or create biddecimal.
CurrencyConverterResult converterResult = CurrencyConverter.INSTANCE.parseToBTCNotLocalised(amount);
if (converterResult.isBtcMoneyValid()) {
bitcoinURI = BitcoinURI.convertToBitcoinURI(qrAddress, converterResult.getBtcMoney().getAmount().toBigInteger(), label, null);
} else {
// No parsable amount - show nothing.
}
} else {
bitcoinURI = BitcoinURI.convertToBitcoinURI(qrAddress, null, label, null);
}
// FIXME: Temporary fudge as we use BitcoinURI, we change scheme from Bitcoin to Coinspark
if (bitcoinURI != null) {
bitcoinURI = bitcoinURI.replaceFirst("bitcoin:", "coinspark:");
}
}
this.bitcoinController.getModel().setActiveWalletPreference(BitcoinModel.SEND_PERFORM_PASTE_NOW, "false");
if (bitcoinURI==null) return null;
// System.out.println("coinspark bitcoinURI = " + bitcoinURI);
return generateImageFromURI(bitcoinURI, scaleFactor);
}
示例11: onCreate
import com.google.bitcoin.uri.BitcoinURI; //导入依赖的package包/类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_address);
Intent intent = getIntent();
mAddress = intent.getExtras().getString("address");
mAmount = intent.getExtras().getLong("amount");
BigInteger amt = mAmount == 0 ? null : BigInteger.valueOf(mAmount);
mURI = BitcoinURI.convertToBitcoinURI(mAddress, amt, null, null);
mLogger.info("view address uri=" + mURI);
final int size =
(int) (240 * getResources().getDisplayMetrics().density);
Bitmap bm = createBitmap(mURI, size);
if (bm != null) {
ImageView iv = (ImageView) findViewById(R.id.address_qr_view);
iv.setImageBitmap(bm);
}
TextView idtv = (TextView) findViewById(R.id.address);
idtv.setText(mAddress);
updateAmount();
mLogger.info("ViewAddressActivity created");
}